Ajax 請求後開啟新視窗被攔截的解決方案

2022-04-22 02:51:13 字數 594 閱讀 6459

公司業務上有個場景,需請求後台獲取支付鏈結位址,再開啟位址引導使用者購買。這樣的場景在其他企業應該也很場景。但是遇到個很常見的問題,ajax後直接用window.open(url),會被瀏覽器作為廣告攔截。

解決方案:

方案一,在ajax請求前新開預設視窗:

let win = window.open("", "_blank");

let param =   

axios.post(param).then((results)=>{

if (results.code =='sucess' ) {

//具體的新開視窗方法     

方案二,ajax使用同步方式(網上提供)。

$.ajax({

type: 'post',

datatype: 'post',

async: false ,   //使用同步請求

url: .....

data: ...

這個方法在專案中嘗試時失敗了,依然會被瀏覽器攔截,使用promise形式也未成功。

最後專案折中,推薦使用提前開啟方案1,或引入使用者操作流程由使用者觸發新開視窗操作。

希望對大家有幫助。

鏈結開啟新視窗

開啟新視窗 彈框 flash動畫 window.showmodaldialog 用於彈出模式視窗,並從彈出的視窗中獲取返回值。在某些情況下,模式視窗是很有用的。一 使用格式 returnvalue window.showmodaldialog surl varguments sfeatures 引數...

ajax開啟新視窗被瀏覽器攔截的解決辦法

先開始開啟乙個空的新視窗,然後改變新視窗的url,具體 為 var wd window.open ajax success function data else error function data 這種實現方式有個弊端,就是不管ajax有沒有成功,都會執行 var wd window.open ...

sharepoint 鏈結 開啟新視窗

最近我想把sp的 的鏈結在新視窗中開啟,在網上找了許多,看上去比較煩,後來找到一篇可以簡單操作就能實現在新視窗中開啟。原始貼在這裡 首先 開啟下面的目錄,修改前別忘做備份 c program files common files microsoft shared web server extensi...