我的index.html上有一个iframe,这个iframe是动态的。
在我的index.html上我有一个表单,在提交时会在iframe中显示结果。
问题是Iframes的高度也必须是动态的,以使网站看起来“干净”。
所以在Iframes php页面中,我有这段代码:
<body onload="parent.resize_iframe(document.body.scrollHeight)">
在index.html(在这种情况下是父节点)中我有这个功能:
function resize_iframe(new_height){
byId('iframe001').style.height=parseInt(new_height) + 20 + 'px';
}
这里的问题不是功能,而是Safari和Chrome认为scrollHeight比它更大。
我已经尝试过警告scrollHeight,并且在Chrome和Safari中nr总是大约2000px,但在其他浏览器中它应该是动态的(500,300,800等)......
有什么想法吗?
更新
我注意到当我点击索引上的链接,然后点击浏览器后退按钮时,iframe会在SAFARI和CHROME中正确调整大小。
但我必须在浏览器中单击它才能使其正常工作......
请参阅此问题以获取更多信息:Can't figure out why Chrome/Safari can't get the ScrollHeight right here
答案 0 :(得分:0)
我不确定,但是我想说出我想说的话。 Safari和Chrome都是基于webkit的浏览器,因此它的行为正常。所以我猜他们计算高度添加填充和边距到正常高度。请谷歌“webkit计算风格”
答案 1 :(得分:0)
当页面出现验证错误时,有时javascript无法正常工作。
首先尝试验证您的标记(HTML)。
如果验证不起作用,请尝试使用jQuery。
jQuery是跨浏览器兼容的;你应该在每个浏览器上得到完全相同的结果。