日期:2014-05-16  浏览次数:20404 次

JS弹出窗口不给拦截的方法

????? 往往在真实开发中,我们需要跳到第三方的网站,如果跳到第三方网站不是由用户主动触发,浏览器一般会拦截掉。今天在百度上搜到一种奇葩的方法,居然可以逃过浏览器大神的拦截,主要是通过ajax同步的方式,然后使用form提交数据跳到第三方网站,以下是具体的代码实现:

var Rechargedata = "";
var ajax = {
    url: "/trade/addmoneysubmit",
    data: $rechargeForm.serialize(),
    type: 'POST',
    async: false,//注意这里同步设置
    dataType: 'json',
    success: function (data) {
        if (data.success) {
            if (data.data !== "") {
                Rechargedata = data.data;//这里是一个URL
                PayMentWriteDialog.show();//显示一个遮罩浮层,用户在第三方操作完成后的对应操作
            } else {
                window.location = "/home";
            }
        }
        else {//这里是错误提示
            xbox.showMsg({
                cls: 'error',
                subTitle: '出错了',
                msg: data.msg
            });
        }
    }
};
$.ajax(ajax);
//模拟新新窗口方式的表单提交以打开新开页
if (Rechargedata !== "") {
    var $tempForm = $('<form method="post" target="_blank" action="' + Rechargedata + '"></form>');
    $("body").append($tempForm);
    $tempForm.submit();
    $tempForm.remove();
}

?