教程集 www.jiaochengji.com
教程集 >  脚本编程  >  javascript  >  正文 javascript判断弹出窗口是否被屏蔽的方法

javascript判断弹出窗口是否被屏蔽的方法

发布时间:2015-02-10   编辑:jiaochengji.com
本文介绍下,使用javascript代码判断弹出窗口是否被屏蔽的一些方法,供大家学习参考。

大多数浏览器都内置有弹出窗口屏蔽程序,在弹出窗口被屏蔽时,就应该考虑两种可能性。
如果是浏览器内置的屏蔽程序阻止的弹出窗口,那么window.open()很可能返回null。
此时,只要检测这个返回的值就可以确定弹出窗口是否被屏蔽了。
例子:
 

复制代码 代码示例:
var wroxWin = window.open("http://www.jiaochengji.com", "_blank");
if (wroxWin == null) {
    alert("糟糕!弹出窗口被屏蔽了");
}

如果浏览器扩展或其它程序阻止的弹出窗口,那么window.open()通常会抛出一个错误。
因此要像准确地检测弹出窗口是否被屏蔽,必须在检测返回值的同时,将对window.open()调用封装在一个try-catch块中,如下所示:
 

复制代码 代码示例:
var blocked = false;
try {
    var wroxWin = window.open("http://www.jiaochengji.com", "_blank");
    if (wroxWin == null) {
        blocked = true;
    }
} catch (ex) {
    blocked = true;
}
if (blocked) {
    alert("弹出窗口被屏蔽了");
}

在任何情况下,以上代码都可以检测出调用window.open()打开的弹出窗口是不是被屏蔽了。
注意:检测弹出窗口是否被屏蔽知识一方面,它并不会阻止浏览器显示与被屏蔽的弹出窗口有关的消息。

您可能感兴趣的文章:
javascript判断弹出窗口是否被屏蔽的方法
ASP.NET中弹出窗口技术
javascript屏蔽(禁止)键盘按键的一些代码
javascript弹出窗口代码大全
javascript实例教程之弹出窗口被阻止的解决方法
解析jquery获取父窗口的元素
javascript弹出对话框综合实例汇总
window.open全屏设置的方法
js window.open全屏参数解析与示例代码
怎么实现ASP.NET关闭当前窗口同时打开新窗口

关键词: 弹出窗口   
[关闭]
~ ~