【发布时间】:2013-01-19 03:53:59
【问题描述】:
我一直在研究这个问题一段时间,但找不到任何解决方案。
案例:
我有一个 iframe,我需要根据内容重新调整大小(页面是 AJAX 密集型的,内容可以根据用户的操作增加和减少)。由于父页面和 iframe 中加载的页面都在同一个域上,我在父页面中编写了一个 js 函数,它需要一个整数值。然后通过js设置iframe的高度,如下所述。
document.getElementById('frameId').style.height = (height) + "px";
问题:
我正在使用 jQuery 来获取文档更改时的高度。
jQuery(document).height();
我遇到的问题是 Chrome 给我的高度比 Firefox/IE 高约 300 像素。我正在研究为什么会这样。在敲了敲头之后,我发现由于某种原因,在 Chrome 中,当我获得文档的高度时,它还包括计算中那些 CSS 中“显示”设置设置为“无”的元素。我有一个在用户进行操作时显示的列表。现在它在我的计算中产生了问题。由于这个额外的高度,我得到的页面底部看起来是空的,感觉好像还没有加载一些东西(这不是很吸引人)。
任何帮助将不胜感激。
问候
杰汉则布
【问题讨论】:
-
您使用的是什么版本的 jQuery?一些旧版本确实存在一些关于高度评估的问题。
-
已在“24.0.1312.56 m”和“24.0.1312.57 m”上进行测试。
-
你试过了吗:
$('#frameId').height( $(document).innerHeight() ); -
没有。让我测试一下,看看它是否有效。
-
我要的是你的 jQuery 版本——不是你的 chrome 版本...
标签: javascript jquery google-chrome iframe height