我已经在互联网上搜索了一段时间用于我的解决方案,但没有一个解决方案适用于我,或者我没有使用它(我认为)。
我有一个看起来像这样的函数,并在单击图像时被调用:
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";
设置正确的网址。但是这会导致console.log出错,这表示myWindow未定义,因此无法调用位置。
我尝试的另一件事是在ajax调用中将async
设置为false,但这已经折旧。
有人如何确保它打开一个新窗口,即使在点击事件后几秒钟?
顺便说一句,我需要10秒的超时时间。没有更多,没有更少。
答案 0 :(得分:0)
您的代码完美无缺,因为
弹出一条消息,说弹出窗口已被阻止。
这只是阻止弹出窗口的浏览器策略。这取决于用户允许在您的网站上打开弹出窗口或禁止。