-
Notifications
You must be signed in to change notification settings - Fork 0
js_2
jiang2016tao edited this page Dec 19, 2018
·
2 revisions
之前使用该方法弹出是不会被浏览器拦截的,最近的一个页面总是被浏览器拦截。刚开始还没管,后来需要面对解决,一时自己也不知道是啥原因。
window.open浏览器弹出新窗口被拦截—原因分析和解决方案
- 当window.open为用户触发事件内部或者加载时,不会被拦截,一旦将弹出代码移动到ajax或者一段异步代码内部,马上就出现被拦截的表现了 -
原来这次window.open是写在ajax的异步代码里:
lookOnLine(e,at,o){
let option={
url:urlFilter.getUrl("LookFileOnLine"),
type:"POST",
dataType:"json",
data:{
mediaName:at[1]
}
};
tpAjax.getData(option,data=>{
window.open("/ims_smart_web/upload/"+at[1]);
});
},修改代码:
lookOnLine(e,at,o){
let option={
url:urlFilter.getUrl("LookFileOnLine"),
type:"POST",
dataType:"json",
data:{
mediaName:at[1]
}
};
let newWin=window.open(window.location.href);
tpAjax.getData(option,data=>{
newWin.location="http://"+window.location.host+'/ims_smart_web/upload/'+at[1];
});
},