如何在JS中检测外部窗口的关闭?

How can I detect the closing of an external window in JS?

本文关键字:窗口 外部 检测 JS      更新时间:2023-09-26

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

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

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

您必须使用间隔来检查窗口何时/是否关闭。以下是您将如何做:

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

中的例子

希望对你有帮助。