往往在真实开发中,我们需要跳到第三方的网站,如果跳到第三方网站不是由用户主动触发,浏览器一般会拦截掉。今天在百度上搜到一种奇葩的方法,居然可以逃过浏览器大神的拦截,主要是通过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(); }