码迷,mamicode.com
首页 > Windows程序 > 详细

window.open方法被浏览器拦截的处理方式

时间:2018-11-10 12:52:48      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:click   cat   pen   修改   rip   art   script   用户   free   

  • 问题现象

    当我们在一个 ajax 回调中执行 window.open 方法时,新页面会被浏览器拦截。

  • 原因

    在 Chrome 的安全机制里,非用户直接触发的 window.open 方法,是会被拦截的。

  • 处理
    $(‘#jump-btn‘).on(‘click‘, function () {
      // 打开一个空标签页(此处不会被拦截)
      var newTarget = window.open();
      $.ajax({
        data: data,
        success: function (url) {
          // 修改新窗口的 url
          newTarget.location.href = url;
        }
      })
     });

    总之,在用户交互时首先打开一个空标签页,随后在回调函数中更改 href 即可。

window.open方法被浏览器拦截的处理方式

标签:click   cat   pen   修改   rip   art   script   用户   free   

原文地址:https://www.cnblogs.com/yangguojin/p/9938457.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!