在IE11中使用window.opener

时间:2018-01-17 01:48:54

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

我的工作有点问题。

这是我的代码。

  • 父窗口

    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上运行。

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

2 个答案:

答案 0 :(得分:0)

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

  

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

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

答案 1 :(得分:0)

IE阻止弹出窗口真实!

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

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