用JavaScript检查弹出窗口是否被阻拦的方法

JavaScript弹出窗口很讨厌,所有人都不喜欢弹出窗口,但很多网站认为弹出框口很有用,需要弹出窗口。对于开发这样的网站的程序员,他们有个棘手的问题,他们不知道这些弹出窗口是否被浏览器或各种浏览器插件给屏蔽了,没有弹出来。当然,浏览器会通知用户,但这些很少会引起用户的注意。下面是一个简单的方法来测试你的弹出窗口是否被阻拦了。

The JavaScript

var windowName = 'userConsole'; 
var popUp = window.open('/popup-page.php', windowName, 'width=1000, height=700, left=24, top=24, scrollbars, resizable');
if (popUp == null || typeof(popUp)=='undefined') { 	
	alert('请解除窗口阻拦,重新点击链接。'); 
} 
else { 	
	popUp.focus();
}

第一步是正常的弹出窗口,并捕捉窗口句柄,检查这个句柄对象是否存在。如果存在,感谢上帝。如果不存在,我们提示用户应该关闭弹出窗口阻拦设置,重新点击链接。当然,你可以用更有说服力的信息提示给用户。或者你可以使用一个弹出层来显示信息。

阅读余下内容
 

《 “用JavaScript检查弹出窗口是否被阻拦的方法” 》 有 3 条评论

  1. 这种检测方法很不靠谱,因为 Chrome 屏蔽的弹出窗口 window对象仍然有效

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注


京ICP备12002735号