很多浏览器对新开弹出窗口进行了限制,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