关于google:使用windowopen容易被谷歌浏览器拦截解决

41次阅读

共计 520 个字符,预计需要花费 2 分钟才能阅读完成。

应用的谷歌浏览器,应用 window.open(),测试的时候,发现总是被拦挡,这这里记录下解决的办法。

当非用户触发的 window.open()办法时,因为谷歌的平安机制,通常是会被拦挡的,除非人工勾销拦挡。比方上面两个例子:当用户没有间接收回 window.open()申请的时候,不是间接调用,而是在回调函数里调用,则会被拦挡。

// 不会被拦挡
$('#btn').click(function () {window.open(url)
});
$('#btn').click(function () {
    $.ajax({
        url: 'a/aa',
        success: function (url) {
            // 会被拦挡
            window.open(url);
        }
    })
});

解决方案

$('#btn').click(function () {
    // 关上一个不被拦挡的新窗口
    var newWindow = window.open();
    $.ajax({
        url: 'a/aa',
        success: function (url) {
            // 批改新窗口的 url
            newWindow.location.href = url;
        }
    })
});

网上找的办法,感激网友
原文链接:
https://blog.csdn.net/hongyua…

正文完
 0