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

原创 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引入:    //import  //解决浏览器兼容性问题 //浏览器右下角消息提醒 封装一个方法 function msg(title,context){ $.messager.lays(200...

jquery 触发a标签点击事件,弹出页面;不被浏览器屏蔽拦截的打开窗口的方法

jquery 触发a标签点击事件,弹出页面 2015-04-13 17:00 1700人阅读 评论(0) 收藏 举报 下一步 $("#alink").click(); // 触发了a标签的点击事...

跨浏览器弹出窗口[js]

  • 2008年09月02日 16:12
  • 9KB
  • 下载

完美弹出窗口 兼容所有浏览器

  • 2011年07月04日 11:37
  • 234KB
  • 下载

可拖动、可关闭、透明标题的DIV弹出窗口,完美兼容各个浏览器

可拖动、可关闭、透明标题DIV百变窗口 .mask{position: absolute; top: 0px; left: 0px; filter: alpha(opacity=50);...

不被浏览器拦截的JS弹出窗口

  • 2011年06月15日 22:31
  • 6KB
  • 下载

window.open浏览器弹出新窗口被拦截—原因分析和解决方案

最近在做项目的时候碰到了使用window.open被浏览器拦截的情况,在本机实验没问题,到了服务器就被拦截了,火狐有拦截提示,360浏览器拦截提示都没有,虽然在自己的环境可以对页面进行放行,但是对用户...

简洁显示浏览器弹出窗口

业务系统中有很多地方有弹出窗口,常用window.open() 方法,但是默认的浏览器窗口不够简洁,尤其是不能隐藏浏览器地址栏。 window.open()默认的弹出效果如图所示,不完美的地方在地...
  • anbuhay
  • anbuhay
  • 2015年03月20日 15:32
  • 156

解决jqueryeasyUI dialog 弹出窗口超出浏览器,导致不能关闭的bug

使用panel的onMove事件解决了panel,dialog以及window组件在被拖动时,会超出浏览器边界而无法拖回的情况。 当窗口被拖出浏览器有边界时,$(document).width();会...

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

业务功能是,点击“修改”按钮弹出编辑子窗口,修改完成后点击保存,触发父窗口的“搜索”按钮加载新的修改后的内容显示。 检测的浏览器有“IE”,"FireFox","Chrome"。Window.open...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:浏览器是否自动屏蔽了弹出窗口的检测
举报原因:
原因补充:

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