我创建了一个带有空 iframe 的页面。然后我可以选择 iframe 文档并导航到它的正文:
var iframe = document.getElementsByTagName('iframe')[0];
var doc = iframe.contentDocument || iframe.contentWindow.document;
var body = doc.body;
console.log("Body is", body);
在 Firefox 和 chrome 中,这给了我 body 对象。在 IE10 中它给了我空值。
这是一个演示该问题的 Jsbin。打开 JS、控制台、输出面板,然后单击“使用 JS 运行”。
两个问题:
- 如何以跨浏览器的方式访问 iframe 的主体?
- 哪个是正确的“符合规范”的行为?