为了账号安全,请及时绑定邮箱和手机立即绑定

js打开新窗口被拦的问题。

js打开新窗口被拦的问题。

拉风的咖菲猫 2019-03-29 22:14:35
在网上也找了很多资料,创建a标签模拟用户点击操作还是会被拦截,我发现的问题就是 如果我点击后马上弹出新窗口是不会被拦截的 但是我们目前的需求是 打开之前会调用一个接口 等接口成功返回再打开新窗口 这种情况下就会被拦截 请问有什么好的方法解决吗?
查看完整描述

5 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

建议别搞黑科技,既然浏览器不希望你这样做,就意味着今天能成功的黑科技可能过一阵之后也不能用了。


查看完整回答
反对 回复 2019-04-03
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

拦截原因:JS脚本触发a链接或者form提交,都会被浏览器拦截,这是浏览器的安全防御机制,你还可以去把浏览器的设置里去允许无条件打开新窗口。
这个方法不会被拦截:你在接口请求成功后,先var openNewWindow = window.open("", "_blank");打开一个空的新页面,然后把你的url给这个新页面重定向openNewWindow.location.href = "###";


查看完整回答
反对 回复 2019-04-03
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

还有一种方法:将ajax请求改成同步,请求返回后,用window.open(url)就可以了


查看完整回答
反对 回复 2019-04-03
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

可以先在页面上写一个a标签,然后动态去改变他的url,最后在用js去模拟点击事件,这样就可以了。(刚才试了一下,好像也被拦截了)


查看完整回答
反对 回复 2019-04-03
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

楼主找到答案了么,求支招。我也是想用JS自动点击超链接,然后打开一个新窗口,而不被拦截。


查看完整回答
反对 回复 2019-04-03
  • 5 回答
  • 0 关注
  • 383 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信