首页 新闻 会员 周边 捐助

js打开新页面被拦截问题

0
悬赏园豆:10 [已解决问题] 解决于 2016-12-08 16:07

我用js的window.open想打开一个新的页面,可是会被浏览器拦截,这个应该怎么解决?

凌晨肆丶的洛杉矶的主页 凌晨肆丶的洛杉矶 | 初学一级 | 园豆:138
提问于:2016-12-07 12:51
< >
分享
最佳答案
0

这是浏览器机制的问题,当window.open为用户触发事件内部或者加载时,不会被拦截,一旦将弹出代码移动到ajax或者一段异步代码内部,马上就出现被拦截的表现了。所以你要实现js打开一个页面可以换一个写法,比如你可以新建一个a标签, href为你要打开的页面,然后再触发其click方法去模拟window.open。

收获园豆:10
FadeIn | 菜鸟二级 |园豆:224 | 2016-12-07 14:59
其他回答(5)
0

打开新页面的方法,主要有一下几种:

       第一种:a标签 '<a href="test.php"target="_blank">,target="_blank"为打开一个新的窗口,否则,为当前页面跳转到指定页面;

       第二种:form表单'<form action="drag.html" method="get" id="form" target="_blank"/></form>',提交表单即可打开新页面,target='target',则将表单信息提交至新打开的指定页面,否则当前页面跳转到指定页面;

      第三种:window.location  执行window.location='test.php',页面将跳转到指定页面。

      第四种:window.open(url);执行window.open('test.php'),将会打开心新的指定页面,当前页面不变。 

我想和这个世界谈谈 | 园豆:61 (初学一级) | 2016-12-07 13:23

这个我在网上也能查到,有没有别的方法

支持(0) 反对(0) 凌晨肆丶的洛杉矶 | 园豆:138 (初学一级) | 2016-12-07 13:42
0

换个方法吧

ycyzharry | 园豆:25683 (高人七级) | 2016-12-08 10:03
0

现在火狐浏览器拦截太吊了,除非是用户点击触发的js或者form表单回车提交触发submit事件。。。

huangzebin | 园豆:228 (菜鸟二级) | 2016-12-08 15:33
0

模拟点击事件+a标签吧O(∩_∩)O哈哈~

郑福坤 | 园豆:202 (菜鸟二级) | 2016-12-29 10:19
0

 <a href="javascript:void(0);" onclick="window.open('http://www.baidu.com','_blank');" target="_blank">百度_blank_click</a>这种方式就不会被拦截

EApple | 园豆:139 (初学一级) | 2018-02-12 09:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册