“身体的Onload”送“scrollHeight属性”无法在Chrome和Safari工作正常

问题描述 投票:0回答:2

我只问了一个问题在这里,为什么一个iframe_resize功能不能正常工作。

故障排除后,我发现,这个问题是不是函数,所以我张贴的新问题。

我有这个调整大小功能一个index.html:

function resize_iframe(new_height){
    document.getElementById('iframe001').style.height=parseInt(new_height) + 20 + 'px';
}

然后,我有在目标设定为一个iframe index.html的一种形式,并操作设置为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中的内容),然后将IFRAME正确甚至在Chrome / Safari的调整... ?

这对我来说是很奇怪的行为。

有人能解释一下吗?

谢谢

PS:我觉得这个人有同样的问题:iframe resizing with scrollheight in chrome/safari

php javascript html css browser
2个回答
2
投票

你尝试的offsetHeight财产?


0
投票

这似乎有一般错误与WebKit浏览器。 https://bugs.chromium.org/p/chromium/issues/detail?id=34224&can=2&start=0&num=100&q=&colspec=ID%20Pri%20M%20Stars%20ReleaseBlock%20Component%20Status%20Owner%20Summary%20OS%20Modified&groupby=&sort=

替代方法(!):我曾裕适用于iframe中像这样的包装元素:

<div class="wrapper" style="margin-top: 30px"><!-- ... content --></div>

改变了它是不是:

<div class="wrapper" style="padding-top: 30px"><!-- ... content --></div>

然后scrollHeight属性是正确的:)

© www.soinside.com 2019 - 2024. All rights reserved.