使用的谷歌浏览器,使用window.open(),测试的时候,发现总是被拦截,这这里记录下解决的方法。
当非用户触发的window.open()方法时,由于谷歌的安全机制,通常是会被拦截的,除非人工取消拦截。比如下面两个例子:当用户没有直接发出window.open()请求的时候,不是直接调用,而是在回调函数里调用,则会被拦截。
//不会被拦截
$('#btn').click(function () {
window.open(url)
});
$('#btn').click(function () {
$.ajax({
url: 'a/aa',
success: function (url) {
//会被拦截
window.open(url);
}
})
});
解决方案
$('#btn').click(function () {
//打开一个不被拦截的新窗口
var newWindow = window.open();
$.ajax({
url: 'a/aa',
success: function (url) {
//修改新窗口的url
newWindow.location.href = url;
}
})
});
网上找的方法 ,感谢网友
原文链接:
https://blog.csdn.net/hongyua...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。