在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ js打開新窗口被攔的問題。

js打開新窗口被攔的問題。

在網(wǎng)上也找了很多資料,創(chuàng)建a標簽模擬用戶點擊操作還是會被攔截,我發(fā)現(xiàn)的問題就是 如果我點擊后馬上彈出新窗口是不會被攔截的 但是我們目前的需求是 打開之前會調(diào)用一個接口 等接口成功返回再打開新窗口 這種情況下就會被攔截 請問有什么好的方法解決嗎?

回答
編輯回答
我以為

可以先在頁面上寫一個a標簽,然后動態(tài)去改變他的url,最后在用js去模擬點擊事件,這樣就可以了。(剛才試了一下,好像也被攔截了)

2017年10月27日 15:01
編輯回答
使勁操

建議別搞黑科技,既然瀏覽器不希望你這樣做,就意味著今天能成功的黑科技可能過一陣之后也不能用了。

2017年1月26日 14:48
編輯回答
朕略傻

攔截原因:JS腳本觸發(fā)a鏈接或者form提交,都會被瀏覽器攔截,這是瀏覽器的安全防御機制,你還可以去把瀏覽器的設置里去允許無條件打開新窗口。
這個方法不會被攔截:你在接口請求成功后,先var openNewWindow = window.open("", "_blank");打開一個空的新頁面,然后把你的url給這個新頁面重定向openNewWindow.location.href = "###";

2018年5月13日 21:48
編輯回答
青檸

樓主找到答案了么,求支招。我也是想用JS自動點擊超鏈接,然后打開一個新窗口,而不被攔截。

2017年1月10日 19:35
編輯回答
菊外人

模擬a標簽點擊,接口拿到地址創(chuàng)建a標簽添加到body中并用js點擊銷毀。

var a=document.createElement('a');
    a.//要寫絕對路徑
    a.target='_blank';
    document.body.appendChild(a)
    a.click();
2018年7月5日 09:44
編輯回答
胭脂淚

還有一種方法:將ajax請求改成同步,請求返回后,用window.open(url)就可以了

2018年8月16日 01:03