我已经实现了上一篇文章[{3}}中描述的解决方案,它几乎可以很好地工作,但并不完全。
我遇到的问题是,有时它会正确计算高度,有时会计算得太短而且内容会被切断。
我正在寻找一些关于可能导致这种情况的建议,因为其他人似乎都取得了成功。在我看来,如果高度计算不正确,那么可能在所有数据从外部源加载到iFrame之前进行计算。但这是猜测,我绝不是JS专家。
我能做些什么来确保在外部页面加载完成后完成计算?
答案 0 :(得分:0)
计算高度几乎是不可能的。我已经玩了很长时间了。我遇到的一件事是,如果你在iframe中有一个表单,并且表单中有一些错误处理事件。假设表格中有一个表格,其中包含隐藏的行等。然后当出现错误时,表格随着行开始出现而变得“更高”,因此高度范围现在又不同了。每当在iframe内部完成一个帖子后,就无法控制高度。我已经尝试过在那里发布的每个解决方案都无法正确计算。我不得不估计“最高”的高度并将其编码为高度。
答案 1 :(得分:0)
我预计问题是您需要检测iFrame中的内容何时发生变化,然后再次调整iFrame的大小。在现代浏览器中,您可以使用mutationObserver来执行此操作,但它在IE10中不起作用,因此您必须使用故障恢复来解决此问题。
我写了一个小型图书馆来处理所有这些问题,并会保留一个iFrame大小的内容。现代浏览器和IE8向上工作。