在Web編程中,使用JS在新窗口打開頁面的時(shí)候,會(huì)遇到被瀏覽器攔截的情況,那么,我們?nèi)绾尾拍茏孞S打開新窗口不被瀏覽器阻止呢?
一、問題一
一般情況下,如果直接在js中調(diào)用window.open()函數(shù)去打開一個(gè)新窗口,瀏覽器會(huì)對彈出的窗口進(jìn)行攔截,因?yàn)闉g覽器會(huì)把該窗口認(rèn)為是彈出廣告等用戶不想得到的窗體
1、解決方法
把window.open()函數(shù)改為由用戶主動(dòng)點(diǎn)擊時(shí)觸發(fā),在超鏈接里加入onclick事件,這樣瀏覽器就認(rèn)為是用戶想訪問這個(gè)頁面,而不是直接彈出給用戶
2、例如:
<a href="javascript:void(0)" onclick="window.open()"></a>
這樣用戶點(diǎn)擊這個(gè)超鏈接,瀏覽器會(huì)認(rèn)為它是打開一個(gè)新的鏈接,所以就不會(huì)攔截。
二、問題二
使用ajax處理數(shù)據(jù),當(dāng)點(diǎn)擊獲取數(shù)據(jù)后,再跳轉(zhuǎn)到新頁面,這時(shí)就會(huì)被瀏覽器攔截
1、解決方法
先用window.open打開一個(gè)窗口,然后修改該窗口地址
2、例如
var tempwindow=window.open();tempwindow.location='/jump/new';
以上所述是小編給大家介紹的JS彈出新窗口被攔截的解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!
新聞熱點(diǎn)
疑難解答