我在需要声明 document.domain 的页面上实现 CodeMirror( http://marijn.haverbeke.nl/codemirror/ )(因为页面上的其他 IFRAMES)。
CodeMirror 生成动态 IFRAME 以提供语法高亮代码编辑。问题是 IE 在以下代码镜像代码中抛出“拒绝访问”(其他浏览器都可以):
this.win = frame.contentWindow;
...
var doc = this.win.document; <-- ERROR
doc.open();
doc.write(html.join(""));
doc.close();
事实证明 IE 没有从父 IE 继承 document.domain。我可以在 IFRAME 内容中设置 document.domain,但 IE 在我设置内容之前就抛出了错误。任何想法如何解决这个问题?