我到处都找过了,包括这里,但一直没有找到一个好的解决方案。我遇到了这个问题,除了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()
我想把高度作为参数传递给你的函数。