4当前位置:网页制作JavaScript教程-突破IE屏蔽限制弹出新窗口
4网页制作分类
CSS | HTML
FrontPage | DreamWeaver
JavaScript | ASP
.Net | PHP
JSP | XML
数据库 | PhotoShop
FireWorks | Flash
4本站推荐内容
4最新网页制作
·点击复制本页网址的…
·新版浏览器实现图片…
·JavaScript拖放效果…
·ajax跨域的三种方法
·浅谈几种常用的嵌套…
·JS控制表格行间色和…
·JavaScript自动判断…
·JS让广告不影响网页…
·JS结合Cookies记录I…
·JS实现页面跳转的五…
4热门网页制作
·网页自动适应客户端…
·JS网页加载进度条
·突破IE屏蔽限制弹出…
·三级下拉联动链接菜单
·文本框控制字数和禁…
·33个JavaScript经典…
·JS获取页面地址栏参数
·JavaScript去除空格…
·又一个全国省市双级…
·全国省市县无刷新多…
4相关网页制作
·使用div仿javascrip…
·Javascript修改客户…
·JavaScript实现Web…
·JS获取被拖动对象的ID
·利用JS将gb2312转成…
·JavaScript程序构成
·JS三级联动表单
·JavaScript画圆
·33个JavaScript经典…
·减轻JavaScript测试…
突破IE屏蔽限制弹出新窗口
类别:JavaScript教程    来源:网络    时间:2006-5-29    贴士:推荐给好友
收藏本页 8 
    写这篇文章并不是要告诉垃圾广告商可以尽情弹出广告或者后台隐藏弹出窗口,而是提醒大家IE内核还有一些冬冬可以绕过大多数以IE为内核的浏览器的广告屏蔽功能,甚至绕开这些浏览器本身,直接弹出一个真正的Internet Explorer窗口。当然并不是全部,有的还是做的比较好的,如Maxthon,尽管新窗口打开了,但是仍然存在于Maxthon之中,而不会砰地弹出一个IE在后台放着,但是TT、The World等一些浏览器就不行了,能直接打开为新的IE窗口。自古都是一物降一物,希望能有相应的解决办法。

  原理很简单。大多数浏览器的弹出式广告屏蔽功能执行的是屏蔽window.open这个函数。当然,还有少数工具和软件可以屏蔽showModalDialog和showModalessDialog这两个函数,而showModal类函数只要能运行便能打开一个模态窗口。而IE是完全封装了这个函数,所以在showModal类函数中运行window.open()是无法屏蔽的。

  所以知道这个原理便可以自己写几个javascript便能使用。

1.用showModalDialog打开一个指定页面
2.指定页面内不需要有内容,只需要执行一个window.open()便能新打开开你窗口
3.打开这个窗口后在模态窗口中将其关闭(window.close())
这样可以通过模态窗口间接地打开你要打开的窗口了。

相关代码:
主页面内代码:

<script language=javascript>
//打开模态窗口
function showDialog(dialogUrl){
    var sUrl = dialogUrl;
    var sFeathers = "help:off;resizable:off;scroll:no;status:off";
    //sUrl = sUrl
    window.showModalDialog(sUrl,"",sFeathers);
}
//打开指定网址
function openUrl(sUrl){
        //模态窗口文件地址
    var dialogUrl = "txdialog.htm";
        //加上随机参数,强制刷新,这里可以不要
    dialogUrl += "?r=" + Math.random()*100000;
    dialogUrl += "&url=" + sUrl;
    showDialog(dialogUrl);
}
</script>

测试代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
</head>

<body>请输入要打开窗口的网址:
<input type="text" name="txtUrl" id="txtUrl" value="http://senyx.cnblogs.com">
<input type=button onclick="openUrl(txtUrl.value)" value='test'>
</body>
</html>

  在模态窗口所在页面(txdialog.htm)内放如下代码:

<script language=javascript>
    function Request(strName)
    {
        var strHref = location.href;
        var intPos = strHref.indexOf("?");
        var strRight = strHref.substr(intPos + 1); 
        var arrTmp = strRight.split("&");
        for(var i = 0; i < arrTmp.length; i++)
        {
            var arrTemp = arrTmp[i].split("=");
            if(arrTemp[0].toUpperCase() == strName.toUpperCase()) return arrTemp[1];
        }
        return "";
    }
    var sUrl = Request("url");
    //alert(sUrl);
    window.open(sUrl);
    window.close();
</script>

  例子下载:http://www.zzsky.cn/education/example/iepoper.rar,访问txtest.htm便可以打开txdialog.htm对话框。
·上一篇:Javascript事件描述
·下一篇:内外网同时访问问题:判断访问计算机IP
本站部分内容收集整理于网络,仅用于学习,不存在商业目的,如有涉及版权等问题请联系站长,本站将在第一时间内进行处理!
Copyright © 2007-2008 Zzsky.Cn  中国站长天空  网站制作维护:可乐猫  QQ:8127544(请注明来意)
设为首页  加入收藏  联系站长  友情链接  闽ICP备08002933号