Internet Explorer 9策略设置正在影响window.postMessage

时间:2012-12-19 22:04:15

标签: internet-explorer-9

我在JavaScript文件中有一个window.postMessage。由于某些策略设置,这在IE9中似乎失败了。我无法弄清楚它是哪种政策。有没有人有任何想法?

2 个答案:

答案 0 :(得分:4)

我相信你要找的关键是:

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

如果设置了上面提到的注册表项,那么IE(我可以告诉的所有版本)将为window.postMessage函数返回undefined。

答案 1 :(得分: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调用。