【问题标题】:window.focus not working javascript; window.close works though?window.focus 无法使用 JavaScript; window.close 有效吗?
【发布时间】:2020-12-03 04:19:31
【问题描述】:

目标:如果用户打开了基于 Web 的培训弹出窗口,则在离开父页面之前警告用户。 如果他们单击取消以留在页面上,我希望焦点回到弹出窗口上。现在,它保持最小化,这是一个问题。

此代码有效,并且在我测试时弹出窗口关闭:

window.open('', 'Popup').close();

如果我对此进行测试,它什么也不做:

window.open('', 'Popup').focus();

完整脚本:

window.onload = function () {
     window.addEventListener("beforeunload", function (e) {             

         if (window.open('', 'Popup') == null) {
             return undefined;
         }

          setTimeout(function () {
              setTimeout(function () {
                window.open('', 'Popup').focus();
            }, 1000);
        }, 1);

         var confirmationMessage = 'If you navigate away from this page, your open workshop will be closed';                   

         (e || window.event).returnValue = confirmationMessage; //Gecko + IE                
         return confirmationMessage; //Gecko + Webkit, Safari, Chrome etc.
     });

【问题讨论】:

  • 你能把你的代码放在像这样的小提琴中吗? jsfiddle.net/khurram_khu/507ww3o2
  • 我将不得不通过弹出窗口来调查和模拟某些东西,但我不确定我是否有经验让它变得简单......

标签: javascript jquery asp.net


【解决方案1】:

您的代码似乎没问题。但是你可以试试下面的代码,看看它是否有效。

var url ='your URL'
var popWin = window.open(url, "Popup");
popWin.focus();

【讨论】:

  • 感谢您的建议。我的网址是动态的,所以我不确定如何分配它。我确实尝试了以下相同的结果: var existingWin = window.open('', 'Popup');现有Win.focus();奇怪的是,如果我将 .focus() 更改为 close() 它会执行并关闭。另外,我确实尝试了 FireFox,结果也一样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-21
  • 1970-01-01
  • 2013-09-09
相关资源
最近更新 更多