为什么我的 React 组件在 iframe 中的滚动高度是 150 像素?

时间:2021-07-28 14:03:13

标签: javascript html reactjs iframe

我有一个 AngularJS 网站和一个在同一个域上运行的 React 应用程序。我正在尝试通过 iframe 运行 React 组件以显示在网站的网页之一上。 我有组件显示,但我试图使 iframe 的高度等于内容的高度,以便不需要滚动条。我尝试了很多解决方案,似乎使用 document.getElementById('my-iframe').contentWindow.document.body.scrollHeight 是正确的方法,但是在设置 iframe 高度时控制台日志始终为 150 像素。

我有一个 setTimeout 以便我等到 iframe 内容完全加载,但即使如此,高度仍记录为 150 像素。我知道内容远不止这些,因为滚动条与 iframe 一起出现,而不是全高显示。

我知道 iframe 默认高度是 150 像素,但内容比这大 - 关于如何从网站访问 React 组件内容的真实高度有什么想法吗?

1 个答案:

答案 0 :(得分:0)

iframe HTML 元素具有默认高度; documentation

要更新默认高度,您需要传递 height 属性,如下所示。

<iframe id="iframe-abc" height="100%" src="abc.com"/>
<iframe id="iframe-abc" height="400px" src="abc.com"/>