浏览器是否自动屏蔽了弹出窗口的检测

原创 2006年06月20日 08:14:00

我在使用MSN Webmessenger时,发现它可以告诉我使用了弹出窗口阻挡功能,在分析代码后,提取出下面的程序,可以直接使用。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>弹出窗口检查</TITLE>
<META http-equiv=Content-Type content="text/html; charset=utf-8"><SCRIPT language=javascript>
function openwindow(u,n,w,h)
{
    var optionstring = "height=" + h + ",width=" + w + ",menubar=no,titlebar=yes,resizable=yes,scrollbars=no,status=no,toolbar=no";                       
    window.open(u,n,optionstring);
}

var    spbw = false;
function ShowBlockerWarning()
{
    return spbw;
}

function Init()
{
    if (true == Detect())
    {
        spbw = true;
    }
}

function Detect()
{
    var e = false;
    var pw1 = null;
    var pw2 = null;
    try
    {
        do
        {
            var d = new Date();
            var wName = "ptest_" + d.getTime();
            var testUrl = IsYBI() ? "popupTest.aspx" : "";

            pw1 = window.open(testUrl,wName,"width=0,height=0,left=5000,top=5000",true);
            if (null == pw1 || true == pw1.closed)
            {
                e = true;
                break;
            }
            pw2 = window.open(testUrl,wName,"width=0,height=0");
            if (null == pw2 || true == pw2.closed)
            {
                e = true;
                break;
            }
            if (IsYBI())
            {
                if (pw1 != pw2)
                {
                    e = true;
                    break;
                }
            }
            pw1.close();
            pw2.close();
            pw1 = pw2 = null;
        }
        while(false);
    }
    catch(ex)
    {
        e = true;
    }
    if (null != pw1)
    {
        try { if (!pw1.closed) pw1.close(); } catch(ex){}
    }
    if (null != pw2)
    {
        try { if (!pw2.closed) pw2.close(); } catch(ex){}
    }
    return e;
}

function IsYBI()
{
    var i = false;
    try
    {
        var xObj = new ActiveXObject("YBIOCtrl.CompanionBHO");
        if (xObj==null) i = false;
        else i = true;
    }
    catch(ex) { i = false; }
    return i;
}

Init();

</SCRIPT>


<SCRIPT language=javascript>
var warningMessage = "检查到使用了弹出窗口阻挡器!Pop-up blocker detected.";
var warningInformation = "请确保浏览器允许本网站打开弹出窗口。";
var g_blockerHtml;
g_blockerHtml  = "<div><table border=1 cellspacing=0 cellpadding=0>";
g_blockerHtml += "<tr><td>" + warningMessage + "</td></tr>";
g_blockerHtml += "<tr><td>" + warningInformation + "</td></tr>";
g_blockerHtml += "</table></div>";
</SCRIPT>

<SCRIPT language=javascript>

var messengerWindow = null;
function OnLoad_WelcomePage()
{
        if ( ShowBlockerWarning() )
        {
            var messageObject = document.getElementById("noPopHtml");
            if (null != messageObject)
            {
                messageObject.innerHTML = g_blockerHtml;
            }
        }
}
</SCRIPT>
</HEAD>
<BODY onload=OnLoad_WelcomePage();>

<SPAN id=noPopHtml>

</BODY>
</HTML>

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

JS判断网页广告是否被浏览器拦截过滤的代码

这篇文章主要介绍了JS判断网页广告是否被浏览器拦截过滤的代码,需要的朋友可以参考下 本来现在投广告赚钱也不像前几年好做,现在还大部分浏览器都拦截了广告,很多浏览器还是默认拦截广告,做站长不是一...
  • wcslb
  • wcslb
  • 2017年03月27日 09:52
  • 1666

如何阻止随时自动弹出的各种网页

这种问题我碰到过,和大家分享一下。 我新装了个什么软件之后,不知怎地,就时不时弹出一个网页来,有时还是在游戏状态也给退出来了,气人哦. 我用兔子修复IE, 全面修复IE都没有用. 于是又打开"安全卫...
  • fsqcy
  • fsqcy
  • 2013年03月24日 16:44
  • 3008

js弹出子窗口的浏览器兼容性问题

业务功能是,点击“修改”按钮弹出编辑子窗口,修改完成后点击保存,触发父窗口的“搜索”按钮加载新的修改后的内容显示。 检测的浏览器有“IE”,"FireFox","Chrome"。Window.open...
  • liuyouli2012
  • liuyouli2012
  • 2016年09月29日 16:34
  • 2274

解决JS弹出新窗口被浏览器阻止的解决方案

本文转载自:http://blog.csdn.net/cntanghai/article/details/6643522 在js中通过open弹出窗口可能会被阻止,我尝试这段代码: ...
  • yuan1013922969
  • yuan1013922969
  • 2016年09月07日 09:27
  • 5800

实用的弹出层效果(阻止浏览器的默认行为)

实用的弹出层效果(阻止浏览器的默认行为)
  • gh1205
  • gh1205
  • 2016年07月26日 13:12
  • 663

js实现浏览器右下角弹出提示信息窗口,几秒后自动关闭

js引入:    //import  //解决浏览器兼容性问题 //浏览器右下角消息提醒 封装一个方法 function msg(title,context){ $.messager.lays(200...
  • songsongmianbao
  • songsongmianbao
  • 2016年06月20日 17:29
  • 3231

如何屏蔽UC强制嵌入到你网站页面上的垃圾广告

不知道大家在手机上用UC浏览器的时候, 有没有注意到网页底部有时候会随机出现一大块广告如下图: 为了避免广告嫌疑, 我这里主要用 CSDN 的官网举例(其实已经处处可见了, 大部分网站页面都被注入...
  • zsjangel
  • zsjangel
  • 2017年04月28日 18:21
  • 9589

用AS+JS实现IE等浏览器的强制弹出窗口源代码

上一篇日志讲到CG朋友要求对单独页面实现分别多种连接打开效果的实现,里面提到IE或者其他的工具栏(yahoo,google)等可以拦截弹出窗口而无法在用户浏览器实现的问题,除了上次提到的将open方法...
  • yctccg
  • yctccg
  • 2016年08月16日 10:40
  • 927

用JS打开新窗口,防止被浏览器阻止的解决方法

我们平时开发web前端或者使用JS的朋友都会遇到需要打开新窗口的情况,使用传统的window.open(),会被大多数浏览器拦截,这是因为现在大部分浏览器都有弹出窗口拦截功能,所以window.ope...
  • PanRuiFang
  • PanRuiFang
  • 2014年12月26日 11:30
  • 2148

弹层相对于浏览器窗口(或屏幕)居中

一、block元素相对于父级居中: 给该元素设置宽高(如果被内部元素撑开,也可不写);然后设置样式margin:0 auto; 二、inline元素相对于父级居中: 给父级元素设置样式:te...
  • xx123698
  • xx123698
  • 2016年11月21日 11:29
  • 721
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:浏览器是否自动屏蔽了弹出窗口的检测
举报原因:
原因补充:

(最多只允许输入30个字)