ASP.NETVB javascript函数:计算传递给iFrame的内容的高度

ASP.NETVB javascript函数:计算传递给iFrame的内容的高度,javascript,asp.net,vb.net,iframe,Javascript,Asp.net,Vb.net,Iframe,我正试图将一个旧的ASP.NET1.0应用程序转换为ASP.NET3.5,但在使用JavaScript函数时遇到了问题。应用程序将内容传递到表单元格中的。该函数用于计算内容的高度并适当调整表单元格的大小 也许您可以建议使用 JavaScript函数 <script language="javascript" type="text/javascript"> <!-- function calcHeight() { var the_heigh

我正试图将一个旧的ASP.NET1.0应用程序转换为ASP.NET3.5,但在使用JavaScript函数时遇到了问题。应用程序将内容传递到表单元格中的。该函数用于计算内容的高度并适当调整表单元格的大小

也许您可以建议使用

JavaScript函数

<script language="javascript" type="text/javascript">
        <!--
    function calcHeight() {
        var the_height = document.getElementById('iframeWindow').contentWindow.document.body.scrollHeight;
        document.getElementById('iframeWindow').style.height = the_height;
    }
</script>


你不能那样做。相反,将脚本添加到promo.aspx,该脚本计算其内容的高度(嗯,body),然后让该脚本调用定义TD的页面。请注意,除非两个页面使用相同的协议和主机名,否则无法执行此操作(出于安全原因,IFRAME和承载它们的页面之间的对话被阻止)


或者,从calcHeight调用promo.aspx中定义的函数,该函数将执行相同的操作:计算其主体的大小,并返回值。

更改服务器端语言版本会破坏客户端javascript?我不确定是否理解。如果代码是兼容的,JavaScript代码应该是健壮的…?您的问题意味着从.NET 1.0移动到3.5会破坏您的JavaScript,这将非常奇怪,因为JavaScript在客户端浏览器上运行,而不是在服务器上运行。@Susan这是安全问题。。。在执行任何激进的操作之前,请尝试在
onload
-属性中使用伪协议
javascript:
。如果没有帮助,哈里的回答肯定会奏效。@Susan照哈里说的做。即使本地运行HTA,也禁止从iFrame获取属性。
<td valign="top" width="390" bgcolor="#ffffff" style="border: #998b7d 1px solid;">
                            <iframe id="iframeWindow" src="promo.aspx" frameborder="0" height="600" width="390"
                                scrolling="no" onload="calcHeight();"></iframe>
                        </td>