通过iframeElement.contentDocument.body访问的iframe主体是一个空节点

问题描述 投票:0回答:1

我在开发服务器上有一个非常简单的设置(两个页面都在我的主页的本地测试服务器localhost:5500上]

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Example Mockup</title>
</head>
<body>
  <iframe src="./nested.html" id="frame"></iframe>
  <script>
    var iframe = document.getElementById('frame');
    console.log(iframe.contentDocument.body);
  </script>
</body>
</html>

和嵌套页面

<html>
    <body>
        <div id="hello">Hello, World</div>
    </body>
</html>

当我在浏览器中加载主页时,写入控制台的输出为:<body></body>我可以使用#hello访问元素iframe.contentDocument.getElementById('hello'),但我希望body元素包括子元素。谁能告诉我为什么会这样

javascript html iframe same-origin-policy
1个回答
1
投票

您必须等到iframe完全加载才能访问它的主体。

© www.soinside.com 2019 - 2024. All rights reserved.