Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ajax调用中的新窗口被阻止_Javascript_Jquery_Ajax_Window - Fatal编程技术网

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和/或网站。如果用户收到弹出窗口被阻止的消息,他们可能不会考虑在我的网站上允许弹出窗口。。