如何判断一个页面已生成?

marcovanbasten 2002-03-04 03:26:20
我的一个jsp(A)包含着一个隐含帧,这个隐含帧中有一个jsp(B),这样的话A就算作B的parent了。在B中要想调用A的函数test()就得这样了:parent.test()。

但现在有这样一个情况:我想在B的onload事件调用A的某个函数,一般来说A和B是同时生成的,但有时会报错,估计是因为在B的onload事件调用A的函数时,A还没生成,所以会报错。

我想在B的onload事件中作一个类似循环等待的东西,等到页面A生成好之后再去调用它的函数,不知道这怎么实现呢?

还请各位高手赐教。

另外无为老兄给过一个方案,当时测试的挺好,岂料第二天还是出错了,还有没有更好的方法呢?
...全文
36 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hax 2002-03-13
  • 打赏
  • 举报
回复
循环检测readyState。
chenzengxi 2002-03-06
  • 打赏
  • 举报
回复
哦,写错了一点点,反正就是当Aframe没有complete的时候,就100毫秒后再试...直到完成了再执行需要的东西.....
function Aframeonload(){
if(parent.Aframe.document.readyState!="complete"){ //若Aframe没有生成页面时
window.setTimeout("Aframeonload()",100);
return;
}
.....
..
}
chenzengxi 2002-03-06
  • 打赏
  • 举报
回复
这样行吗?
function Aframeonload(){
if(toolframe.document.readyState!="complete"){ //若没有生成页面时
window.setTimeout("Aframeonload()",100);
return;
}
.....
..
}
marcovanbasten 2002-03-06
  • 打赏
  • 举报
回复
<frameset>中的onload事件与body的onload事件有何区别?
barrydiu 2002-03-05
  • 打赏
  • 举报
回复
你能不能在<frameset>里用onload=来做啊
qiushuiwuhen 2002-03-04
  • 打赏
  • 举报
回复
timer=setInterval("try{frameA的函数();clearInterval(timer)}catch(e){}",100);
一直运行frameA的函数,如果报错退出循环,若能执行清除timer.
marcovanbasten 2002-03-04
  • 打赏
  • 举报
回复
说得再详细点好吗?
孟子E章 2002-03-04
  • 打赏
  • 举报
回复
<body onload="execute func()">

87,996

社区成员

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

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