admin管理员组文章数量:1026989
今天有一个需求是当用户需要获取到自己上传的资源链接,然后点击查看跳转到对应的资源挂载点。突然发现使用JS的
window.oepn()
操作会导致浏览器拦截。
原来当window.open
为用户触发事件内部或者加载时,不会被拦截,一旦将弹出代码移动到一段异步代码内部,就会被拦截。
因此我们通过ajax
必须设置成同步模式即可解决。
$.ajax({
url:url,
type:'GET',
async:false,
contentType:'application/json',
success:function(res){
window.open(res.content,'_blank');
},
error:function(res){
console.log(res);
}
})
注意:(IE下吊坑)
在IE浏览器下面可能会出现失效的情况,请求出现
400 Bad request
,这是因为在IE浏览器下不支持URL中协带时间跟中文这种参数,所以最好给地址变下码encodeURI(url)
。
今天有一个需求是当用户需要获取到自己上传的资源链接,然后点击查看跳转到对应的资源挂载点。突然发现使用JS的
window.oepn()
操作会导致浏览器拦截。
原来当window.open
为用户触发事件内部或者加载时,不会被拦截,一旦将弹出代码移动到一段异步代码内部,就会被拦截。
因此我们通过ajax
必须设置成同步模式即可解决。
$.ajax({
url:url,
type:'GET',
async:false,
contentType:'application/json',
success:function(res){
window.open(res.content,'_blank');
},
error:function(res){
console.log(res);
}
})
注意:(IE下吊坑)
在IE浏览器下面可能会出现失效的情况,请求出现
400 Bad request
,这是因为在IE浏览器下不支持URL中协带时间跟中文这种参数,所以最好给地址变下码encodeURI(url)
。
版权声明:本文标题:解决JS打开新窗口被浏览器拦截的问题 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1741134537a1834806.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论