如何获取Frameset内frame文档高度

default.html现有一框架如下<framesetcols="120,*"><framesrc="left.htm"noscroll="yes"frameborde... default.html现有一框架如下
<frameset cols="120,*">
<frame src="left.htm" noscroll="yes" frameborder="0" border=0>
<frameset rows="50,*,*" id="rightFrame" scrolling="yes">
<frame src="top.htm" id="topFrame" name="topFrame" frameborder="0" scrolling="no" >
<frame src="main.aspx" id="mainFrame" name="mainFrame" frameborder="0" scrolling="no">
<frame src="bottom.htm" id="bottomFrame" name="mainFrame" frameborder="0" scrolling="no" >
</frameset>

main.aspx内容每次都不一样,即高度会随内容变化。
现在我需要在此页页通过javascript获取main.aspx页面内容的高度,然后设置rightFrame.rows
请问如何获取main.aspx的高度
上面的name是写错了,不过没影响。
我试过用scrollHeight获取main.aspx的高度,但返回的始终是19,另外是不是要等待main.aspx的内容加载完成后,才知道内容的实际高度呢?main.aspx加载可能需要几秒钟时间。
因为main.aspx有多个页面会使用它,所以尽量不要在main.aspx里添加东西,能否就在default.html里完成我提到的功能呢?
谢谢!
展开
 我来答
头奖彩票网
2009-03-24 · TA获得超过368个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:106万
展开全部
你的意思是想根据mainFrame里面的实际内容动态的更改它的高是吗?
那你可以在main.aspx初始化写上这样一句
function screeChange(){
window.parent.document.getElementById('rightFrame').rows="50,"+document.body.scrollHeight+",100";

}
</script>
body里面加上:onload="screeChange()"
注意一定要在body里面或者它的后面初始化,不然获取不到内容高度。

其中document.body.scrollHeight获取main.aspx页面的实际文本高度,然后赋值给它的父窗体中的rightFrame的row值。。。
另外:<frame src="bottom.htm" id="bottomFrame" name="mainFrame" frameborder="0" scrolling="no" >
这个name值是不是写错鸟。。。。
另外在asp.net编程中。。。建议舍弃frameset 使用irame哈。。
real唐洪
2009-03-25 · TA获得超过290个赞
知道小有建树答主
回答量:573
采纳率:60%
帮助的人:385万
展开全部
在外层获取高度有点麻烦,建议你写到内层去,在外层获取高度麻烦是因为你不知道内层的网页什么时候加载完并渲染完成,取到的高度基本上都是0,不过也不是完全没有办法,监视内层document的readyState属性,加载完成后才能取到高度
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
邦德的二叔
2009-03-25 · TA获得超过956个赞
知道小有建树答主
回答量:1000
采纳率:0%
帮助的人:579万
展开全部
不要用frameset,用<iframe></iframe>,即美观,又好控制.

<iframe src="(文件路径)" width="(此框架的显示宽度,可以为像素值和百分比值)" heigth="(与width相同)"></ifrmae>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flag5
2009-03-24 · TA获得超过246个赞
知道小有建树答主
回答量:218
采纳率:0%
帮助的人:223万
展开全部
rows="50,*,*" 代表3个frame的宽度分别为50,*,*.*代表所有,高度同理rows去掉,设cols="100,*,200";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式