JS:在关闭子窗口时进行监听

问题描述

| 我正在以这种方式打开子窗口供Facebook分享:
window.open(sharingUrl,\'\',\'toolbar=0,status=0,width=626,height=436\');
当用户单击“共享”或“关闭”时,窗口将自动关闭。是否可以向这些事件添加侦听器?

解决方法

如果在调用
window.open()
时存储对子窗口的引用,则可以使用
window.closed
属性使用
setInterval()
进行轮询以查看窗口是否仍处于打开状态。下面的示例每秒检查两次。
var child = window.open(\'http://google.com\',\'\',\'toolbar=0,status=0,width=626,height=436\');
var timer = setInterval(checkChild,500);

function checkChild() {
    if (child.closed) {
        alert(\"Child window closed\");   
        clearInterval(timer);
    }
}
注释:如果您曾经控制过子窗口中的html,则可以使用onbeforeunload事件并向父窗口发出警报。,为了将来参考,我想分享另一种不需要
setInterval
的解决方案:
var child = window.open(\'http://google.com\',height=436\');
child.onunload = function(){ console.log(\'Child window closed\'); };
,这样就可以了
   <html>
<head>
<title>Detecting browser close in IE</title>
<script type=\"text/javascript\">

window.onbeforeunload = function(){ myUnloadEvent(); }
function myUnloadEvent() {
    alert (\'You can have Ur Logic Here,\');

}

</script>
</head>
</script>
</head>
<body >
<h1>Close the Window now</h1>
</body>
</html>

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...