Javascript iframe调整大小时如何重置父窗口滚动条

Javascript iframe调整大小时如何重置父窗口滚动条,javascript,iframe,Javascript,Iframe,我使用以下脚本在iframe的内容更改时调整其大小: <script language="JavaScript"> <!-- function autoResize(id){ var newheight; var newwidth; if(document.getElementById){ newheight=document.getElementById(id).contentWindow.document .body.scr

我使用以下脚本在iframe的内容更改时调整其大小:

    <script language="JavaScript">
<!--
function autoResize(id){
    var newheight;
    var newwidth;

    if(document.getElementById){
        newheight=document.getElementById(id).contentWindow.document .body.scrollHeight;
        newwidth=document.getElementById(id).contentWindow.document .body.scrollWidth;
    }

    document.getElementById(id).height= (newheight) + "px";
    document.getElementById(id).width= (newwidth) + "px";
}
//-->
</script>

以及iframe:

    <iframe src="frontpage.html" frameborder="0" width="1000px" height="2000px" class="iframe" name="iframe_a" scrolling="no" id="iframe_a" 

onLoad="autoResize('iframe_a');window.parent.parent.scrollTo(0,0)">
</iframe>

当用户将iframe从短页面导航到长页面时,父窗口允许滚动 到页面底部。这很好。但是当从一个长页面导航到一个短页面时,滚动条(垂直和水平)保持在那里,允许用户向下滚动,即使 页面底部没有内容。我想重置父窗口,以便 当iframe更改为较小尺寸并适合窗口时,不会滚动或额外滚动


以下是页面:

您遇到的问题是,当您设置IFrame的高度时,它会影响body标记的高度

如果将包装元素添加到内容中,则取而代之的是该元素的高度,它应该表示内容的自然高度,而不是反映您在IFrame上设置的高度

#内容
那么您的javascript将是


document.getElementById(“iframe_a”).contentWindow.document.getElementById(“wrapper”).scrollHeight

为什么要调用
.parent
两次?不是'window.parent.scrollTo(0,0);`足够地并尝试使用
.scrollTop(0)
来代替…在我的浏览器中,它工作正常。我在Androids Google Chrome上试过,我试着实现如下:'function autoResize(id){var newheight;var newwidth;if(document.getElementById){newheight=document.getElementById(id).contentWindow.document.getElementById(“包装器”).scrollHeight;newwidth=document.getElementById(id).contentWindow.document.getElementById(“包装器”).scrollWidth;}document.getElementById(id).height=(newheight)+“px”;document.getElementById(id).width=(newwidth)+“px”;}并包含所有正文内容。因为这很难理解,下面是一个示例页面:您将包装器div放在主页中。它需要是IFrame内容的包装器。这是一个旧线程,但我仍在尝试解决这个问题。我认为您是对的,我需要从实际的iframe内容而不是从正文中获取var‘newheight’,但我无法使用您的包装器div建议来实现这一点。这是页面的原样:www.benjaminbennett.net,这是试图从包装器获取新高度的页面:www.benjaminbennett.net/index2.html您能发现任何错误吗?谢谢。你的意思是包装器div放在内容页的主体中吗?
<body><div id='wrapper'>#content</div></body>