Window.opener 在 Microsoft Edge 中未定义,而 运行 在本地主机

Window.opener in Microsoft Edge undefined when running at localhost

我在本地主机中使用 Microsoft Edge 进行开发。

通过 http://localhost

访问网站

我打开一个弹出窗口并希望它通过 window.opener.postMessage

post 向开启者发送一条消息

我的代码适用于 Chrome、Safari,甚至在网站处于暂存或生产阶段时适用于 Microsoft Edge。

但是当我在本地模式下 运行 时,window.opener 是未定义的。

本地主机上的 CORS 很棘手,因此请尝试为主机文件创建一个您喜欢的域名 (%windir%\System32\Drivers\etc\hosts) - 如果您使用的是基于 Windows 的平台和地图那些回到 127.0.0.1.

您可能已经知道如何更改主机文件,但以防万一:

http://support.hostgator.com/articles/general-help/technical/how-do-i-change-my-hosts-file

Microsoft Edge 在网络隔离中运行,目前不支持本地主机测试。 运行 这在提升的命令提示符中启用环回支持:

CheckNetIsolation LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe

在未来的更新中,您将能够使用 about:flags 启用本地主机环回支持。

更多信息:http://dev.modern.ie/platform/faq/how-can-i-debug-localhost/