ajax請(qǐng)求成功后新開窗口window.open()被攔截解決方法
問題:
前面開發(fā)項(xiàng)目時(shí)碰到一個(gè)問題,ajax 異步請(qǐng)求成功后需要新開窗口打開 url,使用的是 window.open() 方法,但是很可惜被瀏覽器給攔截了,怎么解決這個(gè)問題呢?
分析:
瀏覽器之所以攔截新開窗口是因?yàn)樵摬僮鞑⒉皇怯脩糁鲃?dòng)觸發(fā)的,所以它認(rèn)為這是不安全的就攔截了(不過如果是 _self 的話就不會(huì)有這個(gè)限制),即使 ajax 回調(diào)函數(shù)中模擬執(zhí)行 click 或者 submit 等用戶行為(trigger('click')),瀏覽器也會(huì)認(rèn)為不是由用戶主動(dòng)觸發(fā)的,因此不能被安全執(zhí)行,所以被攔截。
解決方法:
1、異步改為同步,即:async:false
2、將新開窗口指向?yàn)橐粋€(gè)對(duì)象,然后修改對(duì)象的 url,比如:
$('.task').bind('click',function(){ var w = window.open(); $.ajax({ type: 'POST', url: '/surveyTask', dataType: 'json', error: function(){ w.close(); }, success: function(res){ w.location = res.url; } }); });
最后需要說明的是:網(wǎng)上的動(dòng)態(tài)添加 form 新開窗口的方法,并不適合 ajax 請(qǐng)求,至少博主測試了下仍然被瀏覽器所攔截。
- JS判斷鼠標(biāo)進(jìn)入容器的方向與window.open新窗口被攔截的問題
- Ajax請(qǐng)求響應(yīng)中用window.open打開新窗口被攔截的解決方法
- window.open不被攔截的簡單實(shí)現(xiàn)代碼(推薦)
- window.open打開窗口被攔截的快速解決方法
- js實(shí)現(xiàn)window.open不被攔截的解決方法匯總
- window.open關(guān)于瀏覽器攔截問題分析及解決方法
- window.open不被攔截的實(shí)現(xiàn)代碼
- window.open被瀏覽器攔截后的自定義提示效果代碼
- 解決window.open()被瀏覽器攔截的問題
相關(guān)文章
使用Ajax時(shí)處理用戶session失效問題的解決方法
這篇文章主要為大家詳細(xì)介紹了使用Ajax時(shí)處理用戶session失效問題的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03Ajax刪除數(shù)據(jù)與查看數(shù)據(jù)操作
這篇文章主要介紹了Ajax刪除數(shù)據(jù)與查看數(shù)據(jù)操作,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03詳解Ajax跨域(jsonp) 調(diào)用JAVA后臺(tái)
本篇文章主要介紹了詳解Ajax跨域(jsonp) 調(diào)用JAVA后臺(tái) ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05ajax 動(dòng)態(tài)傳遞jsp等頁面使用id辨識(shí)傳遞對(duì)象
本文為大家介紹下使用ajax動(dòng)態(tài)傳遞jsp等頁面,js的jax編寫,使用id辨識(shí)傳遞對(duì)象2014-01-01AJAX應(yīng)用實(shí)例之檢測用戶名是否唯一(實(shí)例代碼)
本文通過實(shí)例代碼給大家介紹了AJAX應(yīng)用實(shí)例之檢測用戶名是否唯一,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-09-09使用wordpress的$wpdb類讀mysql數(shù)據(jù)庫做ajax時(shí)出現(xiàn)的問題該如何解決
這篇文章主要介紹了使用wordpress的$wpdb類讀mysql數(shù)據(jù)庫做ajax時(shí)出現(xiàn)的問題該如何解決的相關(guān)資料,需要的朋友可以參考下2015-10-10Ajax請(qǐng)求內(nèi)嵌套Ajax請(qǐng)求示例代碼
把全國省市的兩個(gè)XML文件整合成一個(gè)JSON格式的數(shù)據(jù),就想到了用Ajax嵌套的方法來解決,查找資料,加個(gè)async:false這個(gè)Ajax參數(shù)就行了2014-08-08React+ajax+java實(shí)現(xiàn)上傳圖片并預(yù)覽功能
這篇文章主要介紹了React+ajax+java實(shí)現(xiàn)上傳圖片并預(yù)覽功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05