window.open方法被瀏覽器攔截的處理方式
- 問題現象
當我們在一個 ajax 回撥中執行 window.open 方法時,新頁面會被瀏覽器攔截。
- 原因
在 Chrome 的安全機制裡,非使用者直接觸發的 window.open 方法,是會被攔截的。
- 處理
$('#jump-btn').on('click', function () { // 開啟一個空標籤頁(此處不會被攔截) var newTarget = window.open(); $.ajax({ data: data, success: function (url) { // 修改新視窗的 url newTarget.location.href = url; } }) });
總之,在使用者互動時首先開啟一個空標籤頁,隨後在回撥函式中更改 href 即可。
相關推薦
window.open方法被瀏覽器攔截的處理方式
問題現象 當我們在一個 ajax 回撥中執行 window.open 方法時,新頁面會被瀏覽器攔截。 原因 在 Chrome 的安全機制裡,非使用者直接觸發的 window.open 方法,是會被攔截的。 處理 $('#jump-btn').on('click', funct
ajax請求裡面呼叫window.open會被瀏覽器攔截(優化版)
眾所周知,ajax請求裡面呼叫window.open會被瀏覽器攔截方法有兩種解決辦法,但是經測驗例如ajax改為async:false同步請求還會出現一些問題(比如站點外網址被攔截);第一種解決辦法優化:該方法優點描述:比如ajax回撥函式失敗,瀏覽器預設開啟的空連結會自動關
ajax非同步請求中使用window.open會被瀏覽器攔截解決方案
問題剖析:function click_fun(){ window.open("www.baidu.com");//能開啟 $.ajax({ 'url': '${pageContext.request.contextPath}/activity/sav
解決彈出的視窗window.open會被瀏覽器阻止的問題(自定義open方法)
function openwin(url) { var a = document.createElement("a"); a.setAttribute("href", url); a.setAttribute("target", "_blank");
window.open跳過瀏覽器攔截
pre cli clas ati open click var () url 轉自https://www.cnblogs.com/shizk/p/8458916.html $(‘#btn‘).click(function () { //打開一個不被攔截的新
解決彈出的視窗window.open會被瀏覽器阻止的問題
問題現象最近在做專案的時候碰到了使用window.open被瀏覽器攔截的情況,有時候會一直連線,有時候會偶爾攔截,嘗試了很多方法,走了很多彎路,總結一下結果分享大家原因分析&深入研究1 當瀏覽器檢測到非使用者操作產生的新彈出視窗,則會對其進行阻止。因為瀏覽器認為這不是
window.open開啟新視窗被瀏覽器攔截的處理方法
window.open是javascript函式,該函式的作用是開啟一個新視窗或這改變原來的視窗,如果你直接在js中呼叫window.open()函式去開啟一個新視窗,瀏覽器會攔截你,那麼如何避免呢。 注意,只有直接使用js呼叫 window.open(url); 開啟新視窗時,才會被攔截,如果是改變原理額
js實現window.open不被攔截的解決方法匯總
line bsp pan 測試 ava cli class 頁面 點擊 一、問題: 今天在處理頁面ajax請求過程中,想實現請求後打開新頁面,就想到通過 js window.open 來實現,但是最終都被瀏覽器攔截了。 二、分析: 在谷歌搜索有沒有解決方法,有些說可以通過新
window.open被瀏覽器攔截的解決方案
方案 attr fun click open target win element blog function newWin(url, id) { var a = document.createElement(‘a‘);
window.open()被瀏覽器攔截問題
一、原因 瀏覽器為了維護使用者安全和體驗,在JS中直接使用window.open(url,"_blank")來開啟新的連結是會被攔截的,(window.open(url,”_self”)改變當前的視窗是可以生效的),通常專案需要在ajax非同步請求完成後來開啟新連結,下面提供幾種解決方案 二
window.open()被瀏覽器攔截
近來在專案中,遇到這樣的操作: 在ajax請求的回撥函式中 需要使用window.open()開啟新頁面,但是等ajax請求成功之後,window.open()開啟新頁面總是被瀏覽器攔截,原因大概是,放在ajax回撥函式中的操作,被瀏覽器認為不是使用者主動觸發的事件,並
window.open(url)開啟連結被瀏覽器攔截解決方案
瀏覽器為了維護使用者安全和體驗,禁止在JS中直接使用window.open(url)來開啟新的連結(window.open(url,”_self”)改變當前的視窗是可以生效的)。下面採用幾種變通方
js 用 window.open()方法跳轉到新頁面並且用post方式傳參
今天開發一個功能,需要從js跳轉到新的頁面上去,原先的方式是用 window.open('statistic/hospitalDetailStatisc?opid=' +urlEncode(ipid)); 這種方法當然是可以的 ,但是 這種方法其實是用get方式傳遞引數的,
vue 路由跳轉開啟新視窗(被瀏覽器攔截)
今天做了一個功能是點選按鈕路由跳轉開啟新的視窗頁面 第一種方法 <router-link target="_blank" :to="{path:'/FundManger/FundProductMoney', query:{managerId:fundcode}}&
js的window.open()方法的使用
js的window.open()方法的使用 open(string method,string url,boolean asynch,String username,string password) 指定和伺服器端互動的HTTP方法,URL地址,即其他請求資訊; metho
window.open開啟視窗的幾種方式
1. 在當前視窗開啟百度,並且使URL地址出現在搜尋欄中. window.open("http://www.baidu.com/", "_search"); window.open("http://www.baidu.com/", "_self"); 2. 在一個新的視窗開啟百度 wi
Window.open()方法引數詳解
1, 最基本的彈出視窗程式碼 window.open('page.html'); 2, 經過設定後的彈出視窗 window.open('page.html', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menub
Window.open()方法引數詳解開啟新視窗
http://www.cnblogs.com/sofiawang/articles/1544631.html 1, 最基本的彈出視窗程式碼 window.open('page.html');2, 經過設定後的彈出視窗 window.open('page.html'
Window.open()方法控制視窗最大小化寬度滾動條引數詳解
1、最基本方法呼叫程式碼 window.open('page.html'); 2、設定引數後的彈出視窗 window.open("index.html",'newwindow', 'height=622, width=1000, top=0,l
window open 開啟視窗的幾種方式
1. 在當前視窗開啟百度,並且使URL地址出現在搜尋欄中. window.open("http