摘要:直接在代碼中執(zhí)行是會(huì)被瀏覽器攔截的,瀏覽器是默認(rèn)屏蔽彈出窗口,但是是用戶手動(dòng)觸發(fā),就不會(huì)攔截,如果是程序自動(dòng)執(zhí)行,則會(huì)攔截。
問(wèn)題
有時(shí)候在開發(fā)業(yè)務(wù)時(shí),由于產(chǎn)品體驗(yàn),要求自動(dòng)打開新窗口,而不希望用戶手動(dòng)點(diǎn)擊。
直接在代碼中執(zhí)行:
window.open("http://www.baidu.com")
是會(huì)被瀏覽器攔截的,瀏覽器是默認(rèn)屏蔽彈出窗口,但是是用戶手動(dòng)觸發(fā),就不會(huì)攔截,如果是程序自動(dòng)執(zhí)行,則會(huì)攔截。
解決那么根據(jù)上述規(guī)則,那就在用戶有點(diǎn)擊動(dòng)作時(shí)打開這個(gè)窗口,偽代碼如下:
test document.getElementById("blank").onclick=function(){ window.open(...) }
示例在此
不過(guò),這方式在異步編程中還是會(huì)被攔截,所以在用戶點(diǎn)擊發(fā)送請(qǐng)求的同時(shí)打開一個(gè)新窗口,然后在回調(diào)函數(shù)中修改新窗口的地址,偽代碼如下:
test document.getElementById("blank").onclick=function(){ const newwin = window.open("about:blank"); $.ajax({ type: "post", url: "xxxx", data: {...}, }).then((data)=>{ ... newwin.location.href = data.href; // 調(diào)用location })
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/83449.html
摘要:原因分析深入研究當(dāng)瀏覽器檢測(cè)到非用戶操作產(chǎn)生的新彈出窗口,則會(huì)對(duì)其進(jìn)行阻止。但是,被瀏覽器攔截我們代碼中要彈出的窗口并不是程序員所希望的。 現(xiàn)象 最近在做項(xiàng)目的時(shí)候碰到了使用window.open被瀏覽器攔截的情況,搞得人無(wú)比郁悶啊,雖然在自己的環(huán)境可以對(duì)頁(yè)面進(jìn)行放行,但是對(duì)用戶來(lái)說(shuō),不能要求用戶都來(lái)通過(guò)攔截。何況當(dāng)出現(xiàn)攔截時(shí),很多小白根本不知道發(fā)生了啥,不知道在哪里看被攔截的頁(yè)面,簡(jiǎn)...
摘要:使用包裝一下,也可以防止被瀏覽器攔截。注意這里的超時(shí)時(shí)間不能太短,否則也會(huì)被攔截。我們會(huì)遇到想要彈出一個(gè)窗口,可是卻是在事件執(zhí)行后,才去彈出來(lái)的,這時(shí)就會(huì)被瀏覽器攔截,我們可以通過(guò)下面的方法來(lái)避免先用打開一個(gè)窗口,然后修改地址。 最近公司開發(fā)的一個(gè)項(xiàng)目,平凡用到下載各種類型的文件,但是例如.txt,.jpg,.pdf格式的文件呢瀏覽器會(huì)在當(dāng)前窗口直接打開,影響用戶體驗(yàn),嘗試各種方案和百...
摘要:使用包裝一下,也可以防止被瀏覽器攔截。注意這里的超時(shí)時(shí)間不能太短,否則也會(huì)被攔截。我們會(huì)遇到想要彈出一個(gè)窗口,可是卻是在事件執(zhí)行后,才去彈出來(lái)的,這時(shí)就會(huì)被瀏覽器攔截,我們可以通過(guò)下面的方法來(lái)避免先用打開一個(gè)窗口,然后修改地址。 最近公司開發(fā)的一個(gè)項(xiàng)目,平凡用到下載各種類型的文件,但是例如.txt,.jpg,.pdf格式的文件呢瀏覽器會(huì)在當(dāng)前窗口直接打開,影響用戶體驗(yàn),嘗試各種方案和百...
摘要:使用包裝一下,也可以防止被瀏覽器攔截。注意這里的超時(shí)時(shí)間不能太短,否則也會(huì)被攔截。我們會(huì)遇到想要彈出一個(gè)窗口,可是卻是在事件執(zhí)行后,才去彈出來(lái)的,這時(shí)就會(huì)被瀏覽器攔截,我們可以通過(guò)下面的方法來(lái)避免先用打開一個(gè)窗口,然后修改地址。 最近公司開發(fā)的一個(gè)項(xiàng)目,平凡用到下載各種類型的文件,但是例如.txt,.jpg,.pdf格式的文件呢瀏覽器會(huì)在當(dāng)前窗口直接打開,影響用戶體驗(yàn),嘗試各種方案和百...
閱讀 1427·2023-04-25 23:42
閱讀 3137·2021-11-19 09:40
閱讀 3623·2021-10-19 11:44
閱讀 3831·2021-10-14 09:42
閱讀 2033·2021-10-13 09:39
閱讀 3959·2021-09-22 15:43
閱讀 744·2019-08-30 15:54
閱讀 1528·2019-08-26 13:32