在Web編程中,使用JS在新窗口打開頁面的時候,會遇到被浏覽器攔截的情況,那麼,我們如何才能讓JS打開新窗口不被浏覽器阻止呢?
一、問題一
一般情況下,如果直接在js中調用window.open()函數去打開一個新窗口,浏覽器會對彈出的窗口進行攔截,因為浏覽器會把該窗口認為是彈出廣告等用戶不想得到的窗體
1、解決方法
把window.open()函數改為由用戶主動點擊時觸發,在超鏈接裡加入onclick事件,這樣浏覽器就認為是用戶想訪問這個頁面,而不是直接彈出給用戶
2、例如:
<a href="javascript:void(0)" onclick="window.open()"></a>
這樣用戶點擊這個超鏈接,浏覽器會認為它是打開一個新的鏈接,所以就不會攔截。
二、問題二
使用ajax處理數據,當點擊獲取數據後,再跳轉到新頁面,這時就會被浏覽器攔截
1、解決方法
先用window.open打開一個窗口,然後修改該窗口地址
2、例如
var tempwindow=window.open(); tempwindow.location='/jump/new';
以上所述是小編給大家介紹的JS彈出新窗口被攔截的解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!