在chrome中使用ajax请求后在回调函数中使用window.open("xxxxx")会被chrome提示有弹,就算设置asyn为false也同样不能解决。
已经尝试过:
1.在页面后写好表单后在回调函数通过id找到该标签进行click()同样被禁止
$.ajax({
url: ...
data: ...
type: "post",
dataType: "json",
cache: false,
async: true,
success: function(t) {
window.open("/.../..."); 不允许打开
}
}
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
为什么我的项目中安然无恙的location了呢
是浏览器禁止了弹窗吧?
能贴出代码吗?我怀疑你click的动作在append之前,还没append就绑定click事件,所以没绑定到
贴出代码来吧
是被浏览器给禁掉了。 你可以这样:当你异步请求回调之后用$.trigger('callBack',data)抛出一个事件。监听到事件之后就可以打开页面或者提交表单操作都行
明显是被禁止了。。
window.open 会被浏览器拦截掉
但是当这样写的时候,浏览器不会拦截掉
只有经过一个ajax请求后的回调里面调用window.open会被浏览器认为是一个广告弹出层会被浏览器拦截
将ajax的设置为同步的,即
然后在回调函数中,就可以使用window.open了