我对JQuery比较陌生。我在JSP中有一个锚标记,单击该锚标记会调用一个函数,然后依次调用一个动作类。如果结果成功,则必须打开一个窗口。第一次运行正常。但是,当我第二次单击锚定的URL时,控件转到动作类,但不会弹出已经打开的窗口。它甚至没有打开一个新窗口。请建议如何解决它?我需要弹出已经打开的窗口。我确定这是由于jquery ajax调用所致,因为该功能在不使用ajax jquery的情况下也能正常工作。但是我需要在我的场景中使用它
示例代码:
打开W3Schools
function func1() {
$.ajax({
url: "abc.do",
success: function(response){
window.open("https://www.w3schools.com","MyWindow","left=10,top=20,width=1200,height=700,scrollbars=1,resizable=1, status=1, modal=yes");
},
error: function(e){
alert('Error: ' , e);
}
}); }
答案 0 :(得分:0)
您的浏览器可能检测到弹出窗口并阻止了该弹出窗口,而没有告知您的程序。您如何调用函数?通常重复的window.open
调用只能在类似事件监听器中工作
button.addEventListener("click", ()=>{
func1();
});
因此,如果您将其循环或类似操作,则弹出式保护就无能为力了。
答案 1 :(得分:0)
尝试将空名称而不是MyWindow
传递给窗口,如下所示:
function func1() {
$.ajax({
url: "abc.do",
success: function(response){ window.open("https://www.w3schools.com","","left=10,top=20,width=1200,height=700,scrollbars=1,resizable=1, status=1, modal=yes");
},
error: function(e){
alert('Error: ' , e);
}
}); }