我到处都找过了,包括这里,但一直没有找到一个好的解决方案。我遇到了这个问题,除了Firefox和IE:(帮助?

jQuery(function() {
    sizeIFrame();
    jQuery("#ifrm").load(sizeIFrame);
});

function sizeIFrame() {
    var videoBrowser = jQuery("#ifrm");
    var innerDoc = videoBrowser.get(0).contentDocument ?
        videoBrowser.get(0).contentDocument.documentElement :
        videoBrowser.get(0).contentWindow.document.body;
    videoBrowser.height(35);
    videoBrowser.height(innerDoc.scrollHeight + 35);
}

它在同一个域上,这是我的<iframe>
<iframe id="ifrm" src="http://localhost:8080/linkconsulting/temp.html" width="100%" frameborder="0" scrolling="no"></iframe>

我正在测试localhost,但稍后它仍将在同一个域中。
更新:
所以我注意到这不起作用,因为它似乎干扰了tiny.scrollbar插件或viceversa。不知道该怎么办:(

最佳答案

我感觉这不起作用,因为高度是在加载文档之前计算的。如果要在document.ready事件中调用sizeIFrame,可能会有所不同。
在IFrame中尝试以下代码:

jQuery(function(){
   parent.sizeIFrame();
}

更新:
根据我们的聊天,您可以通过以下方式获取IFrame中文档的高度:
parent.jQuery(document).height()

我想把高度作为参数传递给你的函数。

10-04 15:56