我刚刚在这里问了一个问题,关于为什么iframe_resize函数无效。
排除故障后,我发现问题不在于功能,所以我发布了一个新问题。
我有一个带有此调整大小功能的index.html:
function resize_iframe(new_height){
document.getElementById('iframe001').style.height=parseInt(new_height) + 20 + 'px';
}
然后我在index.html中有一个表单,目标设置为iframe,操作设置为query.php:
<form action='query.php' target='iframe001'>
在我的query.php中:
//ALOT OF PHP HERE
<body onload="parent.resize_iframe(document.body.scrollHeight)">
<?php echo $results_table; ?>
</body>
问题是,在Chrome和Safari中,scrollHeight根本没有改变。
在所有其他浏览器中,scrollHeight更改并且该功能正常工作。
但是,在Chrome / Safari中,点击页面上任意位置的链接,然后点击浏览器后退按钮返回搜索结果(iframe内容),即使在Chrome / Safari中,iframe也会正确调整大小......?
这对我来说是非常奇怪的行为。
有人可以解释一下吗?
由于
PS:我认为这个人有同样的问题:iframe resizing with scrollheight in chrome/safari
答案 0 :(得分:2)
您是否尝试过offsetHeight属性?
答案 1 :(得分:0)
WORKAROUND(!):我在iframe中将边距应用于这样的包装元素:
<div class="wrapper" style="margin-top: 30px"><!-- ... content --></div>
将其更改为:
<div class="wrapper" style="padding-top: 30px"><!-- ... content --></div>
然后scrollHeight是正确的:)