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;
        }
    })
});

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM