近日作了一個需求,在後臺獲取數據後,根據結果新開一個頁面,新開頁面很簡單也就是一個函數和參數的事javascript
但因爲瀏覽器近來對非用戶操做的新開窗口管控愈來愈嚴格,用window.open打開的窗口都會被攔截,須要用戶主動設置不攔截才行java
作不要攔截提示,讓用戶改設置?奈何中國這麼多人,除了點點點和拼音打字外什麼都不會的實在很多,給了提示也看不懂,懶人和大爺也特多,他就是不改能怎麼辦?所在公司不是阿里騰訊這種敢叫板用戶的公司,仍是要靠用戶掙錢的,因此只能我當孫子,想辦法ajax
先是想到不能用open那就觸發a標籤,結果jq的trigger和click無效,原生觸發click雖然有效但只要a標籤加上target="_blank"就會被攔截,而後各類換方法,最後發現無論怎樣,只要不是手動點擊的,原窗口跳轉能夠,但打開新窗口就會被攔截瀏覽器
最後搜索獲得一個結果:‘ajax要同步打開’,我試了試還真解決了,示例代碼:async
$.ajax({ url:'後臺地址', async: false, data:數據, method:'post', success:function (返回地址) { window.open(返回地址); } });