我到处搜索,包括这里,但未能找到好的解决方案。我遇到了这个,它适用于除 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 插件或反之亦然。不知道在这里做什么 :(
最佳答案
我觉得这不起作用,因为在加载文档之前计算高度。如果您要在 document.ready 事件中调用 sizeIFrame,它可能会有所不同。
在您的 IFrame 中尝试此代码:
jQuery(function(){
parent.sizeIFrame();
}
更新: 根据我们的聊天,您可以通过以下方式获取 IFrame 中文档的高度:
parent.jQuery(document).height()
我会说将高度作为参数传递给您的函数。
关于javascript - iframe 自动高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8251038/