如何知道从另一个窗口/选项卡使用javascript关闭的窗口?



我有一个窗口example.com/welcome.php。使用window.open(abcd.php,"mywindow","...")我打开abcd.php在新窗口

通过使用abcd.php中的window.close()。我关闭abcd.php。当abcd.php关闭时,我如何触发welcome.php中的一些动作,

您可以使用onunload事件附加到打开的窗口;

var w = open('stackoverflow.com');
w.onunload = (ev) => {
console.log('unload', ev);
};
//w.close();

设置unload甚至在load事件,以防止不必要的触发unload在窗口打开,至少发生在我的铬。

var w = open('https://stackoverflow.com/users/8424614/unnamedxaer');
w.onload = () => {
w.onunload = (ev) => {
console.log('unload', ev);
};
};

更新2

url必须在相同的域工作,否则你会得到一个错误,当试图将事件附加到打开的窗口(w)(设置调试器与onunload行),他们也必须从相同类型的服务器服务-而不是当浏览器中的url看起来像这样时,可以像文件一样访问c:/my-site/welcome.php.

这是一个工作示例。打开CodeSandbox位于浏览器部分下方窗口底部的控制台,查看输出。

最新更新