Javascript ajax调用中的新窗口被阻止
我已经在互联网上搜索了一段时间,寻找我的解决方案,但没有一个解决方案对我有效,或者我没有正确使用它(我想) 我有一个函数,它看起来像这样,在单击图像时被调用:Javascript ajax调用中的新窗口被阻止,javascript,jquery,ajax,window,Javascript,Jquery,Ajax,Window,我已经在互联网上搜索了一段时间,寻找我的解决方案,但没有一个解决方案对我有效,或者我没有正确使用它(我想) 我有一个函数,它看起来像这样,在单击图像时被调用: function goToGoogle() { setTimeout(function() { $.ajax("url/path", { data: "data" }, function(data){ window.open("https://www.
function goToGoogle() {
setTimeout(function() {
$.ajax("url/path", {
data: "data"
}, function(data){
window.open("https://www.google.nl", "_blank");
});
}, 10000);
}
调用window.open
时,会弹出一条消息,说明弹出窗口被阻止
我试图创建一个带有window.open的变量(var myWindow=window.open(…);
),然后使用myWindow.location=“www.correct.url”设置正确的url代码>。但这将导致console.log中出现错误,该错误表示myWindow未定义,因此无法调用location
我尝试的另一件事是在ajax调用中将async
设置为false,但这被低估了
有人知道如何确保它打开一个新窗口,即使是在点击事件后几秒钟
顺便说一下,我需要10秒的超时时间。。没有更多,也没有更少。您的代码工作得非常完美,因为
弹出一条消息,说明弹出窗口被阻止
这只是阻止弹出窗口的浏览器策略。这取决于用户是否允许在您的站点上打开弹出窗口。您的代码工作正常,因为
弹出一条消息,说明弹出窗口被阻止
这只是阻止弹出窗口的浏览器策略。这取决于用户是否允许在您的站点上打开弹出窗口。有趣。看起来,当超时时间超过1秒(1000ms)时,chrome会说不:Soo,你建议怎么做?我需要10秒的超时时间@我不确定。我会考虑马丁的问题:“皮莫尔,它并没有给我一个明确的解决方案。”用户知道何时会打开一个新窗口,所以这不是问题。很有趣。看起来,当超时时间超过1秒(1000ms)时,chrome会说不:Soo,你建议怎么做?我需要10秒的超时时间@我不确定。我会考虑马丁的问题:“皮莫尔,它并没有给我一个明确的解决方案。”用户知道什么时候会打开一个新窗口,所以这不是问题。我的最终用户可能不太了解计算机和/或网站。如果用户收到弹出窗口被阻止的消息,他们可能不会考虑在我的网站上允许弹出窗口。我的最终用户可能不太了解comuter和/或网站。如果用户收到弹出窗口被阻止的消息,他们可能不会考虑在我的网站上允许弹出窗口。。