【问题标题】:JQuery not opening the already opened window when clicked twice单击两次时,JQuery 未打开已打开的窗口
【发布时间】:2018-07-26 21:10:50
【问题描述】:

我对 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);
                    }               
                     });  }

【问题讨论】:

  • 我添加了示例代码
  • 对,这就是window.open应该的工作方式。在窗口已经打开的情况下,你尝试过使用window.focus吗?
  • 顺便说一句,我已经从你的问题中删除了两个标签,因为这与 Java 或 JSP 无关。
  • 是的,我试过 window.focus 但没用
  • 好的,那我不知道该建议什么。希望比我聪明的人能来给你一个好的答案。

标签: javascript jquery


【解决方案1】:

您的浏览器可能检测到弹出窗口并在不告诉您的程序的情况下阻止它。你是如何调用你的函数的?通常重复的window.open 调用只会在像

这样的事件监听器中工作
button.addEventListener("click", ()=>{
    func1();
});

因此,如果您将其置于循环或类似情况中,则您对弹出窗口保护无能为力。

【讨论】:

  • 感谢您的关注。但我禁用了弹出窗口阻止程序。打开的窗口在下次单击时重新打开,代码如下: window.open("w3schools.com","MyWindow","left=10,top=20,w…, status=1, modal=yes");仅当使用 ajax jquery 调用动作类时它才起作用
【解决方案2】:

尝试将空名称而不是 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);
                }               
                 });  }

【讨论】:

    猜你喜欢
    • 2012-08-31
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-03
    相关资源
    最近更新 更多