您的位置:首页 > Web前端 > JavaScript

Web: 使用Javascript新开一个浏览器标签而不是新开一个窗口

2014-03-30 20:56 561 查看
很多浏览器对新开弹出窗口进行了限制,popup窗口在默认情况下会被block掉。
这样可能会造成按钮/链接/脚本不工作的假象。
window.open("http:www.techbrood.com","_blank")
以上JS语句是想新开一个窗口而不是在原有的窗口上跳转,这在分享内容时经常见到。
究竟是弹窗还是新建标签页是由浏览器的设置决定的,并不由第二个参数_blank而确定。
如果用户浏览器的设置是弹出新的窗口,那么JS脚本无法影响这种情况下的行为。
如果用户浏览器的设置是新开一个标签页(最新的主流浏览器基本上默认情况下都是这个设置)
那么可以通过JS脚本来控制新建标签还是新建窗口的行为,必须是在click事件的处理过程中,代码如下:

<a class="link">Link</a>
<script  type="text/javascript">
     $("a.link").on("click",function(){
         window.open('www.techbrood.com','_blank');
     });
</script>

上述语句可以达到和如下静态html代码相同的效果:
<a href="www.techbrood.com" target='_blank'>Link</a>

如果在click事件中使用了ajax请求,那么注意ajax默认的异步请求模式会让click事件失去时效,
所以如果要达到新建标签页的效果,务必保证async参数为false。

by iefreer
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐