首页 > 解决方案 > iframe Resizer 初始调整高度稍小,直到我点击

问题描述

我正在为两个应用程序(主机和子应用程序)使用带有角度 9 的 Iframe 调整器库(https://github.com/davidjbradshaw/iframe-resizer)。

对于加载的页面之一,它似乎从计算的高度中截断了 100 像素。一旦我点击页面,它就会检测到鼠标按下事件并重新计算高度到正确的大小。

我正在使用值为“taggedElement”的heightCalculationMethod,并将body data-iframe-height 插入到子索引html 中。

当我打开日志记录时,我看到以下内容:

初始负载:

[iFrameSizer][iframe] 高度计算方法设置为“taggedElement”

[iFrameSizer][iframe] HTML & body height 设置为“auto”

[iFrameSizer][iframe] 向主机页面发送消息 (iframe:3793.50830078125:1140:init)

点击后:

[iFrameSizer][iframe] 触发事件:鼠标按下

[iFrameSizer][iframe] 解析 1 个 HTML 元素

[iFrameSizer][iframe] 向主机页面发送消息 (iframe:3892.144775390625:1140:resizeParent)

不知道为什么 DOM 在初始加载时会切断 100 像素,以及当我单击它时它重新计算时它似乎有效。是否有一个 DOM 元素在将其发送到主机站点之前没有在高度计算中被拾取?

更新:

这只发生在 chrome 上。

另外,如果我在主机站点上像 0.2 秒后添加它,它似乎可以修复它:

iFrameResizer.resize();

虽然不太喜欢这种方法。

标签: angulariframe-resizer

解决方案


像这样的问题总是与 CSS 有关,尝试不同的高度计算方法,如果这不起作用,您将需要解决 CSS 问题


推荐阅读