1. 程式人生 > >使window.open() 全相容IE, Firefox, Chrome的最新寫法

使window.open() 全相容IE, Firefox, Chrome的最新寫法

window.open() 可謂是 彈窗廣告的利器, 不過因為瀏覽器的攔截機制越來越完善, 開啟機率也越來越低了.

之前在百度上看到很多種寫法,如: 

通過 js 去觸發某按鈕的click事件

通過 js 去觸發某form的submit事件,並且form的target 設定為_blank

不過經過我的測試,發現都已經不再相容了

於是想到了下面這個辦法:

    <script>    
    var new_window = null;  
      
    //加一個確認,可以在這個方法裡面執行很多適用於自己的判斷...
    function sure_open() {  
        if (confirm('確定要開啟php愛好者嗎?'))  
            open_window(url);  
        else  
            new_window.close(); //關閉視窗
    }  
      
    function open_window(url) {    
        new_window.location.href = url;    
    }    
    </script>    
    <input type="button" onclick="new_window = window.open(); open_window('http://www.phplover.cn')" value="開啟php愛好者" />    


其中用到的原理就是

 通過使用者真實的點選 觸發window.open() 開啟一個新視窗(因為是真實的使用者行為,瀏覽器會認為是使用者意願,不會進行攔截)

然後再通過js去更改新視窗的 location

快來試試吧