window.open()如何绕过chrome的弹窗拦截

一.首先,我们要知道哪些弹窗会被 chrome拦截,哪些弹窗不会被拦截

  1.非用户触发的window.open方法,是会被拦截的。

//定义一个按钮
    var btn = $('#btn');
//由用户点击触发按钮
    btn.click(function () {
        $.ajax({
            url: 'ooxx',
            success: function (url) {
          //这里的window.open()方法由 ajax触发 ,不属于用户触发
//打开一个不被拦截的新窗口 var newWindow = window.open(); //修改新窗口的url newWindow.location.href = url; } }) });

 

 

  2.用户触发的window.open方法,不会被拦截。

二.如何,避免被拦截

  最简单的方法:让window.open方法被用户触发

  

//定义一个按钮
var btn = $('#btn');
//由用户点击触发按钮
btn.click(function () {

    //打开一个不被拦截的新窗口
    var newWindow = window.open();

    $.ajax({
        url: 'ooxx',
        success: function (url) {

            //修改新窗口的url
            newWindow.location.href = url;
        }
    })
});

 

 

 

posted @ 2019-11-08 16:00  一杆梅子酒白衣返北凉  阅读(2228)  评论(0编辑  收藏  举报