送分题,关于IFRAME取对象值

wangxiaomax 2004-03-30 01:29:43
网页a.htm,其中使用<IFRAME name="mainFrame" id="mainFrame" src='b.htm' style="height:400" width="100%" scrolling="no" noResize></IFRAME>

网页b.htm,其中
使用下面语句
parent.document.all.mainFrame.style.height=600
起作用。

在a.htm使用此语句也起作用。
parent.document.all.mainFrame.style.height=600
当然使用document.all.mainFrame.style.height=600也可以。
如何在b.htm中使用何语句,可实现iframe高度改变的结果,但在a.htm使用此语句无效。强调是独特的写法。
因为我在每个页面ONLOAD时都会执行一个函数。函数如下:
function window.onload() {
try {
parent.document.all.mainFrame.style.height=(document.body.scrollHeight<400)?400:document.body.scrollHeight;
}
catch(e) {
return false;
}
}
...全文
54 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangxiaomax 2004-03-30
  • 打赏
  • 举报
回复
正想删帖子,居然有人回复了。我的解决方法,可以使IFRAME自动变大。
function window.onload() {
try {
parent.mainFrame.style.height=(document.body.scrollHeight<400)?400:document.body.scrollHeight;
}
catch(e) {
return false;
}
}
meizz 2004-03-30
  • 打赏
  • 举报
回复
在a.htm使用此语句也起作用。
parent.document.all.mainFrame.style.height=600?????

你的测试环境不对, 如果你把 a.htm 放在另一个框架里你这种写法就是错误的, 因为你的 a.htm 已经是最上层, 上面已经没有框架了, 因此在 a.htm 里: parent == top == self ,所以没有报错. 由些你就可以 onload 里加上一个判断即可:
window.onload = function()
{
if(self!=top && window.name=="mainFrame")
{
//..... 这样就不会出现问题了.
}
}

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧