唯品秀前端博客
当前位置: 前端开发 > JavaScript > 关于js页面window.open跳转新窗口被拦截-解决

关于js页面window.open跳转新窗口被拦截-解决

2018-03-19 分类:JavaScript 作者:管理员 阅读(6814)

window.open为什么被拦截

部分浏览器默认不允许脚本方式去跳转一个新的页面网站,认为这是一种恶意广告行为,但实质所有浏览器都是支持window.open的。在百度搜索好久,有些说可以通过新建a标签,模拟点击事件触发来实现,但是测试发现都实现不了,照样被浏览器拦截(在此严重批评‘CSDN博客’这个垃圾平台,没有几篇有营养的文章,互相复制粘贴也就算了,还自己没验证就互相转),最后发现了个折中的办法,在此分享给大家!

方式一

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>跳转测试</title>
</head>

<body>
  <a href="javascript:;" class="btn">测试跳转</a>
</body>
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
<script>
  $('.btn').click(function () {
    var newTab = window.open();//打开新窗口
    console.log(newTab)
    setTimeout(function () {
      newTab.location.href = "http://www.baidu.com";
    }, 2000);
  })

</script>

</html>

方式二

在jQuery中,使用a.click(), a.trigger('click')等都不会引起链接默认事件被执行。下面的代码模拟生成了链接点击事件,然后执行默认打开链接的事件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<html>
<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <title>Title</title>
</head>

<body>
    <input type="button" value="Go to Apple" id="btn">
</body>
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
<script>
$(function() {
    $("#btn").click(function() {
        var a = $("<a href='http://www.apple.com' target='_blank'>Apple</a>").get(0);
        var e = document.createEvent('MouseEvents');
        e.initEvent( 'click', true, true );
        a.dispatchEvent(e);
    });
});
</script>
</html>

小结

大家把自己想要兼容的浏览器都测测吧,我目前只是测了windows系统上的谷歌、火狐、猎豹、360,其他浏览器都没测过,也许还存在兼容问题。

「三年博客,如果觉得我的文章对您有用,请帮助本站成长」

赞(5) 打赏

谢谢你请我吃鸡腿*^_^*

支付宝
微信
5

谢谢你请我吃鸡腿*^_^*

支付宝
微信

上一篇:

下一篇:

你可能感兴趣

共有 0 - 关于js页面window.open跳转新窗口被拦截-解决

博客简介

唯品秀博客: weipxiu.com,一个关注Web前端开发技术、关注用户体验、坚持更多原创实战教程的个人网站,愿景:成为宇宙中最具有代表性的前端博客,期待您的参与,主题源码 

精彩评论

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

站点统计

  • 文章总数: 252 篇
  • 草稿数目: 0 篇
  • 分类数目: 16 个
  • 独立页面: 6 个
  • 评论总数: 882 条
  • 链接总数: 19 个
  • 标签总数: 442 个
  • 注册用户: 7595 人
  • 访问总量: 9108996 次
  • 最近更新: 2020年5月25日
服务热线:
 173xxxx7240

 QQ在线交流

 旺旺在线