【问题标题】:Differences between behavior in user defined window.close function in Chrome and IE11Chrome 和 IE11 中用户定义的 window.close 函数行为之间的差异
【发布时间】:2020-07-22 16:47:48
【问题描述】:

我正在使用 jquery 在整个应用程序中打开模式对话框。关闭对话框时,我使用这段代码。

if ($jdlg) window.close = function() { 
    if ($jdlg)
    { 
        $jdlg.dialogWindow.dialog('close');
        //$jdlg.frame.remove();
    } 
};

在 Chrome 中这有效,在 IE11 中无效。我读过不同的 SO 文章,这可能与 IE 设置不同的安全区域有关,但是在发布了启用保护模式等推荐步骤之后,仍然没有。

在控制台中,当我输入window.close()时,IE显示未定义,但是window.close或者在这种情况下,出现了parent.window.close函数,只是在调用时不起作用。

编辑:将 window.close = function(){...} 更改为 closeDialog = function{...} 并且它正在工作。

【问题讨论】:

  • window.close() 是浏览器的内置方法。似乎是个不好用的名字。
  • 我想我可以给它取个别的名字吗?
  • 我会尝试类似closeDialog = function() { ... }
  • 是的。
  • 感谢您分享该问题的解决方案。我建议您将您的解决方案发布为该线程的答案,并在 48 小时后尝试将您自己的答案标记为该问题的答案。它可以在未来帮助其他社区成员解决类似的问题。感谢您的理解

标签: javascript html modal-dialog window internet-explorer-11


【解决方案1】:

解决方案是将window.close = function(){...} 重命名为closeDialog = function{...}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    • 2016-03-21
    相关资源
    最近更新 更多