使用Javascript / jQuery的open.window弹出的onunload火灾后约:空

2019-09-20 17:47发布

比方说,我有一个打开与window.open的弹出()按钮:

<button id = "my-button">Open window</button>​

而且我想,当这个窗口关闭捕捉。 我使用下面的代码:

$('#my-button').on('click', function() {
    popup = window.open('http://www.google.com', 'my_popup', "width=800,height=600,scrollbars=no,resizable=yes,status=yes,toolbar=no,location=no,menubar=no");
    $(popup.document).ready(function() {
        console.log('ready!');
        $(popup).on('unload', function() {
            console.log('unloaded!');
        } );
    })    
});​

现在,我已经注意到,在打开的窗口中加载短暂“关于:空白”,然后加载请求的URL。 在那个时候,onunload事件被触发。 其他职位说,这是正常的行为,但我似乎并没有得到一个第二onunload事件(至少使用铬)。

任何人有一种变通方法建议?

见小提琴: http://jsfiddle.net/periklis/NJz6w/

与往常一样,在此先感谢

Answer 1:

好吧,我发现毕竟是一个解决方案:

$('#my-button').on('click', function() {
    popup = window.open('http://www.google.com', 'my_popup', "width=800,height=600,scrollbars=no,resizable=yes,status=yes,toolbar=no,location=no,menubar=no");
    $(popup.document).ready(function() {
        console.log('ready!');
        $(popup).on('unload', function() {
            console.log('unloaded!');
            $(popup).on('unload', function() {
                console.log('unloaded 2nd time!');
            } );
        } );
    })    
});​

这奇怪的作品在我的环境,但不适合的jsfiddle例如我张贴。 无论如何。



文章来源: javascript/jquery open.window popup fires onunload after about:blank unloads