【问题标题】:How can I detect the closing of an external window in JS? [duplicate]如何检测 JS 中外部窗口的关闭? [复制]
【发布时间】:2013-06-11 18:40:49
【问题描述】:

我有一段代码可以打开一个窗口:

  $("#authorization_link").click(function() {
    win = window.open($(this).attr("href"),'width=800,height=600');
  });

现在我想在窗口"win" 关闭时运行另一个块。事件是什么?如何在检测时运行代码?

【问题讨论】:

  • 你可以在那里添加onbeforeunload处理程序,它将调用opener窗口
  • Palash 感谢您提供的指针,但在这种情况下生成的窗口是指向另一个我无法控制的网站。
  • 您可以使用setInterval 运行并检查win 是否为!= null
  • 一会儿我会给你代码
  • 这可能会有所帮助:stackoverflow.com/a/5240471/1823841

标签: javascript jquery coffeescript


【解决方案1】:

您必须使用时间间隔来检查窗口何时/是否关闭 以下是您的操作方法:

win = window.open($(this).attr("href"),'width=800,height=600');

function checkIfWinClosed(intervalID){
    if(win.closed){
        alert('windowsClosed');
        clearInterval(intervalID);
    }
}
var interval = setInterval(function(){
    checkIfWinClosed(interval);
},1000);

这是fiddle中的一个工作示例

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2021-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多