1. 程式人生 > >window.open()被瀏覽器攔截

window.open()被瀏覽器攔截

近來在專案中,遇到這樣的操作:

  在ajax請求的回撥函式中 需要使用window.open()開啟新頁面,但是等ajax請求成功之後,window.open()開啟新頁面總是被瀏覽器攔截,原因大概是,放在ajax回撥函式中的操作,被瀏覽器認為不是使用者主動觸發的事件,並且延遲1000ms ,被認為有可能是廣告,於是被攔截

解決的方法:

在ajax請求之前先開啟一個空的頁面

let tempPage=window.open('','_blank');

然後在回撥函式中,

tempPage.location=res.url;

然後將頁面的地址指向回撥函式中的地址,這樣就不會被攔截了