应用的谷歌浏览器,应用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...