如何绕过chrome的弹窗拦截机制

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

例如事件触发的js是不会被拦截的:

var btn = $('#btn');
btn.click(function () {
    ...
    ...
    ...
    //不会被拦截
    window.open('http://cssha.com')
});

再例如:

var btn = $('#btn');
btn.click(function () {

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

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

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

上面代码中:用户点击一个按钮,新开一个窗口,同第一个例子原理,这也不会被拦截,紧接着在这个新页面发起一个ajax请求,然后在成功返回后,修改页面的URL地址,这样也是ok的,chrome也不会拦截。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值