突破IE屏蔽限制,自己的網站使勁彈新IE視窗

來源:互聯網
上載者:User

寫這篇文章並不是要告訴垃圾廣告商可以盡情彈出廣告或者後台隱藏快顯視窗,而是提醒大家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 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.cnblogs.com/Files/senyx/iepoper.rar
訪問txtest.htm便可以開啟txdialog.htm對話方塊

http://fanrsh.cnblogs.com/articles/280189.html



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。