摘要:問題描述代碼中直接使用會被瀏覽器窗口攔截原因瀏覽器為了維護用戶安全和體驗,在中直接使用,來打開新的鏈接是會被攔截的。
問題描述:
代碼中直接使用window.open("http://www.baidu.com", "_blank");會被瀏覽器窗口攔截
原因
瀏覽器為了維護用戶安全和體驗,在JS中直接使用window.open(url,"_blank")來打開新的鏈接是會被攔截的。
通常項目需要在ajax異步請求完成后來打開新鏈接,下面提供幾種解決方案
解決方案
1.最常用的(在ajax異步請求成功后打開新窗口)
</>復(fù)制代碼
//先在ajax函數(shù)之前打開新窗口后再加載url
$("#btn").click(function () {
// 打開頁面,此處最好使用提示頁面
var newWin = window.open();
newWin.document.body.innerHTML="正在加載中......";
$.ajax({
url: "www.###.com",
success: function (url) {
// 重定向到目標(biāo)頁面
newWin.location.href = url;
}
})
});
2.利用a標(biāo)簽跳轉(zhuǎn),能解決大多數(shù)瀏覽器兼容問題,但是這種方不適用于ajax異步請求回調(diào)中打開新窗口,在ajax異步請求完成后調(diào)用無效(用戶點擊事件觸發(fā))
</>復(fù)制代碼
function newWin(url){ //新窗口打開
var a = document.createElement("a");
a.setAttribute("href", url);
a.setAttribute("style", "display:none");
a.setAttribute("target", "_blank");
document.body.appendChild(a);
a.click();
a.parentNode.removeChild(a);
};
document.body.addEventListener("click", function() {
newWin("http://www.baidu.com");
});
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/53101.html
摘要:使用包裝一下,也可以防止被瀏覽器攔截。注意這里的超時時間不能太短,否則也會被攔截。我們會遇到想要彈出一個窗口,可是卻是在事件執(zhí)行后,才去彈出來的,這時就會被瀏覽器攔截,我們可以通過下面的方法來避免先用打開一個窗口,然后修改地址。 最近公司開發(fā)的一個項目,平凡用到下載各種類型的文件,但是例如.txt,.jpg,.pdf格式的文件呢瀏覽器會在當(dāng)前窗口直接打開,影響用戶體驗,嘗試各種方案和百...
摘要:使用包裝一下,也可以防止被瀏覽器攔截。注意這里的超時時間不能太短,否則也會被攔截。我們會遇到想要彈出一個窗口,可是卻是在事件執(zhí)行后,才去彈出來的,這時就會被瀏覽器攔截,我們可以通過下面的方法來避免先用打開一個窗口,然后修改地址。 最近公司開發(fā)的一個項目,平凡用到下載各種類型的文件,但是例如.txt,.jpg,.pdf格式的文件呢瀏覽器會在當(dāng)前窗口直接打開,影響用戶體驗,嘗試各種方案和百...
摘要:使用包裝一下,也可以防止被瀏覽器攔截。注意這里的超時時間不能太短,否則也會被攔截。我們會遇到想要彈出一個窗口,可是卻是在事件執(zhí)行后,才去彈出來的,這時就會被瀏覽器攔截,我們可以通過下面的方法來避免先用打開一個窗口,然后修改地址。 最近公司開發(fā)的一個項目,平凡用到下載各種類型的文件,但是例如.txt,.jpg,.pdf格式的文件呢瀏覽器會在當(dāng)前窗口直接打開,影響用戶體驗,嘗試各種方案和百...
摘要:之前的項目,有個功能是下載文件,這里只要在瀏覽器輸入就會下載那個文件了。 之前的項目,有個功能是下載文件,這里只要在瀏覽器輸入 url 就會下載那個文件了。當(dāng)時我只是簡單得使用 window.open ,但是卻會被瀏覽器進行攔截,要手動開啟才行,然后就搜索研究其他方法,就看到各種各樣的,通過 js 打開新窗口的方法了,這里就總結(jié)一下 解決下載功能 這里就先說解決下載功能的方法,通過同事...
摘要:之前的項目,有個功能是下載文件,這里只要在瀏覽器輸入就會下載那個文件了。 之前的項目,有個功能是下載文件,這里只要在瀏覽器輸入 url 就會下載那個文件了。當(dāng)時我只是簡單得使用 window.open ,但是卻會被瀏覽器進行攔截,要手動開啟才行,然后就搜索研究其他方法,就看到各種各樣的,通過 js 打開新窗口的方法了,這里就總結(jié)一下 解決下載功能 這里就先說解決下載功能的方法,通過同事...
閱讀 1185·2023-04-26 02:38
閱讀 1477·2021-11-22 09:34
閱讀 1187·2021-09-26 10:19
閱讀 3169·2019-08-29 17:15
閱讀 3524·2019-08-29 12:27
閱讀 1719·2019-08-26 13:51
閱讀 1865·2019-08-26 13:47
閱讀 1018·2019-08-26 12:20