1. 程式人生 > >window.open開啟視窗被攔截的快速解決方法

window.open開啟視窗被攔截的快速解決方法

window.open是javascript函式,該函式的作用是開啟一個新視窗或這改變原來的視窗,不過一般用來的是開啟新視窗,因為修改原來的網頁地址,可以有另一個函式,那就是window.location,他可以重定向網頁地址,使網頁跳轉到另一個頁面。 

我現在要說的是window.open函式的幾個使用策略,一般情況下,如果你直接在js中呼叫window.open()函式去開啟一個新視窗,瀏覽器會攔截你,認為你將彈出廣告等使用者不想得到的窗體,所以如果不想讓瀏覽器攔截你,你可以將這個函式改為使用者點選時觸發,這樣瀏覽器就認為是使用者想訪問這個頁面,而不是你直接彈出給使用者。 

所以常用的方法就是在超連結里加入onclick事件,如<a href="javascript:void(0)" onclick="window.open()"></a>這樣使用者點選這個超連結,瀏覽器會認為它是開啟一個新的連結,所以就不會攔截。 


可是有時候我們會遇到想要彈出一個視窗,可是卻是在onckick事件執行後,才去彈出來的,這時就會被瀏覽器攔截,我們可以通過下面的方法來避免,就是先用window.open開啟一個視窗,然後修改地址。如var tempwindow=window.open('_blank');開啟一個視窗,然後用tempwindow.location='http://www.baidu.com';使這個視窗跳轉到百度,這樣就會呈現彈出百度視窗的效果了。