下面的代码在加载页面时生成一个javascript弹出窗口,然后在关闭父窗口时关闭弹出窗口。
<script language="JavaScript">
var player;
function load() {
player = window.open('http://www.google.com','player','height=320,width=320,scrollbars,resizable');
}
function unload() {
player.close();
}
window.onload = load;
window.onunload = unload;
</script>这是工作正常,但它关闭弹出窗口时切换页面在网站上。有没有什么办法可以让弹出窗口一直保留到实际的URL/站点窗口关闭?
发布于 2011-08-10 03:12:07
我认为你必须从子窗口检查父窗口的状态,而不是反之亦然。
这段代码还没有经过测试,但我正在尝试这个概念:
window.opener.onunload =
setTimeout(
function(){
if (!window.opener) self.close();
}, 1000);发布于 2011-08-10 03:08:11
简短的回答是否定的,钩子到关闭窗口的事件的惟一方法是onunload,它在文档被卸载时触发(比如当您导航到另一个页面时)。
也许你可以检查弹出窗口上的window.opener (使用计时器,或者onfocus),检查产生弹出窗口的窗口是否仍然存在,如果不存在,则关闭弹出窗口。
发布于 2011-08-10 03:22:31
这可能会对你有所帮助:
<script language="Javascript">
var player;
function load() {
player = window.open('http://www.google.com','player','height=320,width=320,scrollbars,resizable');
}
function unload() {
if (!(window.location.equals('http://yourSiteName.com'))) {
player.close();
}
}
window.onload = load();
window.onunload = unload();
</script>https://stackoverflow.com/questions/7001357
复制相似问题