2015-04-22 56 views
0

我正在單擊事件打開一個新的瀏覽器窗口。有沒有從父獲取另一個(programaticaly打開的)瀏覽器窗口的關閉事件

樣本HTML綁定的子窗口的關閉事件的方式:

<button id="btn">Click</button> 
<label id="lbl"></label> 

腳本

$(function() { 
    $("#btn").on('click', function() { 
     window.open("about:blank", "test", "height=200px,width=200px"); 
     $("#lbl").html("Opend"); 
    }); 
}); 

免得說,例如,我想當孩子關閉時將標籤文本更改爲closed

Js Fiddle Link

+0

使用'window.close'就像您使用'window.open'一樣。 [link](http://www.w3schools.com/jsref/met_win_close.asp)請參考 –

+0

@ user2688337感謝您的建議。但我不想關閉窗口,我試圖在用戶關閉窗口時收到通知。 – Saif

回答

0

使用onbeforeunload事件:

var new_window = window.open("about:blank", "test", "height=200px,width=200px"); 
new_window.onbeforeunload = function() { 
    alert('closed'); 
} 

演示:https://jsfiddle.net/p48eu9ng/1/

0

試試這個

$(function(){ 

    $("#btn").on('click',function(){ 

     var new_window = window.open("about:blank","test","height=200px,width=200px"); 
     new_window.onbeforeunload = function(){ $("#lbl").html("Closed");} 
     $("#lbl").html("Opend"); 
    }); 

}); 
0

試試這個fiddle,改變標籤關閉新窗口後關閉。

$(function(){ 

    $("#btn").on('click',function(){   
    var newWindow = window.open("about:blank","test","height=200px,width=200px"); 
     $("#lbl").html("Opend");   
    $(newWindow).bind("beforeunload", function() { 
     $("#lbl").html("Closed"); 
    })  
    });