公司業務上有個場景,需請求後台獲取支付鏈結位址,再開啟位址引導使用者購買。這樣的場景在其他企業應該也很場景。但是遇到個很常見的問題,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...