使window.open() 全相容IE, Firefox, Chrome的最新寫法
阿新 • • 發佈:2019-02-07
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
快來試試吧