來源:改程序代碼時,突然發現 使用ajax處理數據,當點擊獲取數據后,再跳轉到新頁面,這時就會被瀏覽器攔截;
解決方法: (1) 一般情況下,如果直接在js中調用window.open()函數去打開一個新窗口,瀏覽器會對彈出的窗口進行攔截,因為瀏覽器會把該窗口認為是彈出廣告等用戶不想得到的窗體
解決方法 : 把window.open()函數改為由用戶主動點擊時觸發,在超鏈接里加入onclick事件,這樣瀏覽器就認為是用戶想訪問這個頁面,而不是直接彈出給用戶;
例如:<a href="javascript:void(0)" onclick="window.open()"></a>
這樣用戶點擊這個超鏈接,瀏覽器會認為它是打開一個新的鏈接,所以就不會攔截。
(2) 使用ajax處理數據,當點擊獲取數據后,再跳轉到新頁面,這時就會被瀏覽器攔截
解決方法 : a.先用window.open打開一個窗口,然后修改該窗口地址
例如 :var tempwindow=window.open(); tempwindow.location='/jump/new';
b.將ajax的設置為同步的;
例如: async: async === undefined ? true : async,
