4

我有window.postMessage一个 JavaScript 文件。由于某些策略设置,这似乎在 IE9 中失败。我不知道这是什么政策。有谁知道它可能是哪一个?

4

2 回答 2

4

我相信您正在寻找的关键是:

HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_CROSS_DOCUMENT_MESSAGING

如果设置了上述注册表项,则 IE(据我所知的所有版本)将为 window.postMessage 函数返回 undefined。

于 2013-04-16T22:36:11.693 回答
3

让我在评论之外进一步阐述。正如你在这里看到的:

http://javascript.info/tutorial/cross-window-messaging-with-postmessage

如果我在家中使用普通的 IE9 或在 browserstack.com 上使用的 IE9,则消息在 iframe 内可以正常加载。但是,如果我使用我们的 Intranet IE9,我会在 JS 控制台中收到以下错误:

SCRIPT16385: Not implemented

cross-window-messaging-with-postmessage, line 1 character 1
SCRIPT1002: Syntax error 
all.js, line 1 character 1

这似乎是一些阻止 postMessage 调用的安全设置。

于 2013-04-03T08:52:33.747 回答