【问题标题】:Using window.opener in IE11在 IE11 中使用 window.opener
【发布时间】:2018-01-17 01:48:53
【问题描述】:

我的工作有点问题。

这是我的代码。

  • 父窗口

    child = window.open(url, "pop", "width=790,height=890,scrollbars=yes");
    
    $("#module").attr("action", "https://~~~").attr("async", false).attr("method", "GET").attr("target", "pop").attr("acceptCharset", "UTF-8").submit().focus();
    
  • 子窗口

    $(opener.location).attr("href", "javascript:functionName();");
    open(location, "_self").close();
    

这些代码在所有浏览器和操作系统中均无错误。

一台特定的笔记本电脑有问题。

问题是“缺少开场白”。

此错误在特定笔记本电脑上的 IE11、Windows10 上运行。

它在同一台笔记本电脑的另一个浏览器上运行良好。

【问题讨论】:

  • 边缘浏览器可以用吗?
  • 是的,Edge 上没问题。
  • $(opener.location).attr("href", "javascript:...”你是认真的吗?!?
  • 您是否偶然清除了 IE 缓存并保存的数据也将设置重置为默认值
  • #Aluan 是的,我指的是这个网站。 sitefinity.com/developer-resources/forums/…

标签: javascript windows-10 internet-explorer-11 window.open window.opener


【解决方案1】:

您的 IE 很可能在保护模式下运行。这是一个已知问题/功能:https://social.msdn.microsoft.com/Forums/ie/en-US/5d9efaa1-78d5-45dc-a04d-d9fde768379f/ie-11-windowopener-in-popup-dialog

“当为相关内容启用保护模式/UAC 时,window.opener 属性在特定情况下为空。”

尝试将其关闭并查看问题是否仍然存在。

【讨论】:

    【解决方案2】:

    IE 会真正阻止弹出窗口!

    如果浏览器设置为阻止所有弹出窗口,您的 window.open 方法将返回 null;因此您的 opener 也将无效。

    在调用弹出窗口时尝试使用 CTRL 和/或 CTRL+ALT 覆盖阻止程序。 或者更改给定笔记本电脑上的设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-04
      • 2017-03-28
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 2021-02-26
      • 2015-10-07
      相关资源
      最近更新 更多