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

2024年11月22日 03:09
有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,就是屏蔽了