Web: 使用Javascript新开一个浏览器标签而不是新开一个窗口
2017-09-09 22:26
337 查看
很多浏览器对新开弹出窗口进行了限制,popup窗口在默认情况下会被block掉。
这样可能会造成按钮/链接/脚本不工作的假象。
window.open("http:www.techbrood.com","_blank")
以上JS语句是想新开一个窗口而不是在原有的窗口上跳转,这在分享内容时经常见到。
究竟是弹窗还是新建标签页是由浏览器的设置决定的,并不由第二个参数_blank而确定。
如果用户浏览器的设置是弹出新的窗口,那么JS脚本无法影响这种情况下的行为。
如果用户浏览器的设置是新开一个标签页(最新的主流浏览器基本上默认情况下都是这个设置),
那么可以通过JS脚本来控制新建标签还是新建窗口的行为,必须是在click事件的处理过程中,代码如下:
[javascript] view
plain copy
<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。
这样可能会造成按钮/链接/脚本不工作的假象。
window.open("http:www.techbrood.com","_blank")
以上JS语句是想新开一个窗口而不是在原有的窗口上跳转,这在分享内容时经常见到。
究竟是弹窗还是新建标签页是由浏览器的设置决定的,并不由第二个参数_blank而确定。
如果用户浏览器的设置是弹出新的窗口,那么JS脚本无法影响这种情况下的行为。
如果用户浏览器的设置是新开一个标签页(最新的主流浏览器基本上默认情况下都是这个设置),
那么可以通过JS脚本来控制新建标签还是新建窗口的行为,必须是在click事件的处理过程中,代码如下:
[javascript] view
plain copy
<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。
相关文章推荐
- Web: 使用Javascript新开一个浏览器标签而不是新开一个窗口
- 如何使用ASP.NET不用脚本(JavaScript)达到新开IE(浏览器)窗口的目的?
- WebView打开网页,设置支持Javascript,浏览的网页后退而不是退出浏览器,判断页面加载过程,缓存的使用
- 运行vs时打开一个浏览器窗口,而不是在原有窗口上打开一个标签
- Android构建一个通用的WebView(一):标题、加载进度、JavaScript交互、用浏览器打开等
- 制作一个简单的浏览器WebView的使用
- 子框架中使用javascript更改当前浏览器窗口的url
- 分享一个帮助你自定义标签并且兼容现代浏览器的javascript类库 : X-tag
- 安卓的WebView不弹新窗口使用自有窗口加载及加载后执行javascript
- 使用javascript控制浏览器窗口的技巧源代码大全
- 使用JavaScript和CSS弹出一个窗口
- 使用javascript打开一个新页而不被浏览器屏蔽
- query中如何能保证页面新开一个窗口而不被浏览器给拦截
- 使用decj简化Web前端开发(一):声明式Javascript动态加载和浏览器事件绑定
- 使用selenium+python;在页面A点击一个按钮跳转到页面B,页面A没有关闭,浏览器打开了一个B,切换窗口定位页面B的元素
- 怎么使用response.write来做一个javascript的alert弹出窗口
- 一个使用Java jdk8中Nashorn(Java javascript引擎)设计的Web开发框架
- 使用javascript代码无提示关闭浏览器窗口(兼容IE与火狐)
- WEB前端——使用Javascript判断客户端浏览器类型
- 在浏览器的地址栏位置, 使用javascript:输入一个表达式来测试.