我在stackoverflow上发现了另一个线程: window.open popup getting blocked during click event。最重要的答案似乎解决了这个问题。但我不知道很多JavaScript。
你能帮忙根据答案重写代码:
1)在调用window.open
之前调用$.ajax
并保存窗口引用:
var newWindow = window.open(...);
2)在回调中设置已保存窗口引用的位置属性:
newWindow.location = url;
也许它已经明确表达了。但我不知道如何重写代码。
答案 0 :(得分:1)
嗯,请记住您链接的问题的背景,它将是这样的:
var newUrl = 'http://example.com';
var newWindow = window.open('', '_blank');
$.ajax({
type: "POST",
url: form_url,
dataType: 'json',
data: form_data,
success: function(data) {
newWindow.location = newUrl;
}
});
当然,您必须修改$.ajax
调用(特定于网址和数据)以符合您的要求。