【发布时间】:2014-10-05 17:01:50
【问题描述】:
在使用 javascript 卸载页面时,我需要找到并关闭所有子窗口(该页面是他们的 window.opener)。当父窗口即将被卸载时,我需要遍历所有打开的窗口并只关闭那些卸载页面是它们的 window.opener 的窗口。这样做的正确方法是什么?我需要一个跨浏览器的解决方案。
【问题讨论】:
标签: javascript cross-browser window.opener
在使用 javascript 卸载页面时,我需要找到并关闭所有子窗口(该页面是他们的 window.opener)。当父窗口即将被卸载时,我需要遍历所有打开的窗口并只关闭那些卸载页面是它们的 window.opener 的窗口。这样做的正确方法是什么?我需要一个跨浏览器的解决方案。
【问题讨论】:
标签: javascript cross-browser window.opener
为您需要打开的每个新窗口创建一个变量,然后像这样关闭它们:
var.close();
完整示例:
var window1;
window1 = window.open("www.google.com");
window1.close();
【讨论】:
尝试使用负责关闭所有弹出窗口的 onunload 事件。
<body onunload="destroyPopUps()">
在上面的代码中,onunload 事件与页面的 body 元素相关联。这是destroyPopUps函数的实现。
function destroyPopUps()
{
if(popups.length == 0) return;
for(i=0; i<popups.length; i++)
{
popups[i].close();
}
}
【讨论】: