如何通过javascript判断一个窗口是否已经被屏蔽。 - 技术问答

2024-11-22 03:09:23
推荐回答(3个)
回答1:

主窗口
function hasOpened() { // 窗口成功打开后会执行该回调, 清除定时器
clearTimeout(timer);
}
window.open('xxx', '_blank'); // 打开新窗口
var timer = setTimeout(function() { // 假设1秒内窗口还没能打开即窗口被屏蔽
alert('被屏蔽了!');
}, 1000);

新开窗口
window.opener.hasOpened(); // 放在新窗口的head里面, 打开后立即会执行

回答2:

要判断open方法所打开的窗口时,就按 open()的值来进行判断。如果要判断原窗口被屏蔽, 用opener属性来判断, opener.closed如果为true, 就是主窗口关闭了。

回答3:

获取open()的返回值,如果是null,就是屏蔽了