栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

是否有可能用JavaScript打开弹出窗口,然后检测用户何时关闭它?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

是否有可能用JavaScript打开弹出窗口,然后检测用户何时关闭它?

如果您可以控制弹出窗口的内容,请在该窗口中处理窗口的

unload
事件,并通过
opener
属性通知原始窗口,首先检查打开器是否已关闭。请注意,这在Opera中并不总是有效。

window.onunload = function() {    var win = window.opener;    if (!win.closed) {        win.someFunctionToCallWhenPopUpCloses();    }};

由于该

unload
事件将在用户每次离开弹出窗口中的页面时触发,而不仅仅是关闭窗口时触发,因此您应该检查弹出窗口在以下位置是否确实已关闭
someFunctionToCallWhenPopUpCloses

var popUp = window.open("popup.html", "thePopUp", "");function someFunctionToCallWhenPopUpCloses() {    window.setTimeout(function() {        if (popUp.closed) { alert("Pop-up definitely closed");        }    }, 1);}

如果您无法控制弹出窗口的内容,或者您​​的目标浏览器之一不支持该

unload
事件,则可以在主窗口中使用某种轮询解决方案。调整间隔以适合。

var win = window.open("popup.html", "thePopUp", "");var pollTimer = window.setInterval(function() {    if (win.closed !== false) { // !== is required for compatibility with Opera        window.clearInterval(pollTimer);        someFunctionToCallWhenPopUpCloses();    }}, 200);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/420734.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号