window.open關於瀏覽器攔截問題分析及解決方案

來源:互聯網
上載者:User

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';使這個視窗跳轉到百度,這樣就會呈現彈出百度視窗的效果了。

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.