gpt4 book ai didi

javascript - 如何使用在 getScript 回调函数内生成的 URL 打开一个新窗口,并避免弹出窗口拦截器?

转载 作者:数据小太阳 更新时间:2023-10-29 06:08:50 29 4
gpt4 key购买 nike

我遇到的问题是,当我尝试执行类似以下代码的操作时,窗口将被弹出窗口阻止程序阻止。我正在使用 getScript 以便我可以发出跨域请求。我正在使用 jQuery 1.4.2 来执行以下操作。

将被阻止的代码示例:

//Code that gets blocked by pop-up blockers
$(document).ready(function(){
$(".popup").click(function(){
$.getScript("URL_To_A_Javascript_File", function(){
window.open("dynamicURL", "_blank");
});
});
});

越过拦截器但未及时获取 URL 的代码示例:

//This code will get past the pop-up blocker, but the var url won't be updated 
//with the dynamicURL before the window.open() fires in browsers
//like safari or chrome.
$(document).ready(function(){
var url;
$(".popup").click(function(){
$.getScript("URL_To_A_Javascript_File", function(){
url = "dynamicURL";
});
window.open(url, "_blank");
});
});

如何使用在 getScript 回调函数中生成的 URL 打开一个新窗口,并避免弹出窗口拦截器?

最佳答案

好吧,看来我终于想出了如何做我想做的事。

这种方式允许我在不需要处理 javascript 的中间页面的情况下执行弹出窗口。

var newWin;
$(document).ready(function(){
$(".popup").click(function(){
newWin = window.open();

$.getScript("URL_To_A_Javascript_File", function() {
newWin.location = "DynamicURL";
});
return false;
});
});

关于javascript - 如何使用在 getScript 回调函数内生成的 URL 打开一个新窗口,并避免弹出窗口拦截器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4097255/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com