我使用了在stackoverflow上找到的javascript resize函数,它适用于IE和FF。但是,在Google Chrome中,它只能调整比前一个更大的iframe。如果必须调整较小的iframe,则需要相同的高度并添加30px。
我认为它与检索scrollHeight有关,但我不知道如何修复它。
我已经尝试使用超时,因为我读到的地方可能有所帮助,但事实并非如此。
以下是相关代码:
function autoResize(id){
var newheight;
if(document.getElementById)
{
newheight=document.getElementById(id).contentWindow.document.body.scrollHeight;
newheight=newheight+30;
}
document.getElementById(id).height = (newheight) + "px";
}
<iframe src="<?php echo "$LC"; ?>/home.html" name="iframe" id="iframe" width="435px" height="10px" scrolling="no" frameborder="0" style="margin-left:-10px;padding-bottom:20px;" onLoad="setTimeout(autoResize('iframe'),250);";">
编辑:通过将功能更改为
来解决它 function autoResize(id) {
document.getElementById(id).height = document.getElementById(id).contentDocument.documentElement.scrollHeight+15; //Chrome
document.getElementById(id).height = document.getElementById(id).contentWindow.document.body.scrollHeight+15; //FF, IE
}
答案 0 :(得分:7)
function autoResize(id) {
document.getElementById(id).height = document.getElementById(id).contentDocument.documentElement.scrollHeight+15; //Chrome
document.getElementById(id).height = document.getElementById(id).contentWindow.document.body.scrollHeight+15; //FF, IE
}