社区
JavaScript
帖子详情
请问如何确保iframe已经完全载入?
crackzzy
2003-08-22 03:49:03
我做的一个页面里面需要包含一个iframe这个iframe是一个aspx文件。而且我这个页面一开始就要用到iframe里的form里的数据。所以我的这个页面需要在一开始就确保iframe已经被完全载入了。并且在iframe被完全载入之前这段时间里应该什么都不做,空等iframe的装载。
请问高手如何实现?
...全文
312
19
打赏
收藏
请问如何确保iframe已经完全载入?
我做的一个页面里面需要包含一个iframe这个iframe是一个aspx文件。而且我这个页面一开始就要用到iframe里的form里的数据。所以我的这个页面需要在一开始就确保iframe已经被完全载入了。并且在iframe被完全载入之前这段时间里应该什么都不做,空等iframe的装载。 请问高手如何实现?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fason
2003-08-27
打赏
举报
回复
啊?我的参考上面写着是ie4+开始支持的,:(
yonghengdizhen
2003-08-27
打赏
举报
回复
to fason(阿信)
状态是有但iframe的onreadystatechange事件是在ie5.5以后才开始支持的
你虽然知道需要readyState==4但你无法获知状态何时改变为这个值..
setTimeout可以,但结构上显得不太紧凑
fason
2003-08-26
打赏
举报
回复
IE5开始就已经有readyState属性了吧?
fason
2003-08-26
打赏
举报
回复
IE5开始就已经有readyState属性了吧?
yonghengdizhen
2003-08-26
打赏
举报
回复
ie在处理单一窗口文档载入好象是使用的单一线程,所以无限循环是行不同的.
如果是ie6可以实现iframe的onreadystatechange捕获状态
否则,最好的办法是在此页定义一个客户端回调,由iframe加载的页面调用
seabell
2003-08-26
打赏
举报
回复
<script>
check=null;
function ifload()
{
try
{sub.document.all.mytext.value="welcome";
clearTimeout(check);
window.status="done";
}
catch(e)
{
window.status="waiting";
}
}
check=setTimeout(ifload,2000);
</script>
<iframe id=sub src="sub.htm"></iframe>
sub.htm
<script>
for(i=0;i<1000;i++)
window.status=i;
</script>
<input type=text name=mytext>
多菜鸟
2003-08-26
打赏
举报
回复
test.document.readyState
test.document.onreadystatechange
以上两个怎么理解啊?
hover_online
2003-08-26
打赏
举报
回复
没看楼上的为什么不成,我想这样不知可不可以:
在暗真中加入
<body onload="javascript:document.all.hideIt.style.display='none'">
<p align="center" id="hideIt" style="color:blue"><br><br><br>正在打开,请稍侯--------------</p>
多菜鸟
2003-08-26
打赏
举报
回复
up
crackzzy
2003-08-24
打赏
举报
回复
可是好象都没有达到那种要求啊。
虽然用setTimeout方法可以在一段时间后自动执行一段判断代码。但是在执行这些代码的时候,页面的其他部分也被执行着,也就是说已经运行到了需要调用iframe里的内容的地方了。这样一来IE还是会报错。说找不到iframe里的东西。
现在最主要的问题是怎么样让页面在iframe还没装载以前什么都不做。我本来想用死循环控制的。不过好象行不通,两秒种IE就弹出一个对话框提示继续执行可能需要很长时间,问是否继续。而且死循环的时候狂耗CPU,不是一个好的解决方法。
请问高手还有什么更好的解决办法吗?
fason
2003-08-22
打赏
举报
回复
说错,:(,if(test.document.readyState=="complete")
fason
2003-08-22
打赏
举报
回复
if(test.readyState=="complete"){
这样一步步测试也可以
damboo
2003-08-22
打赏
举报
回复
fason(阿信)的方法好象比较专业,我没有试过
我当时用了土办法,以阿信的页面为例,可以这样:
主页面:
<iframe src="demo.asp" name="test"></iframe>
<script language="JavaScript">
<!--
function checkDemo(){
if(test.loadOK){
//这里是需要处理的代码
}
else{
setTimeout("checkDemo();");
}
}
//-->
</script>
在demo.asp的最后一段,写上
<script language="JavaScript">
<!--
loadOK=ture;
//-->
</script>
cloudchen
2003-08-22
打赏
举报
回复
在包含这个iframe的页面里面判断<body onload="alert('iframe已经下载完毕,而且可以通过DOM访问')">
这个页面onload完毕后就包括iframe也load完毕
fason
2003-08-22
打赏
举报
回复
<iframe src="demo.htm" name="test"></iframe>
<script language="JavaScript">
<!--
test.document.onreadystatechange=ex
function ex(){
if(test.document.readyState=="complete")
alert("已下载完")
}
//-->
</script>
crackzzy
2003-08-22
打赏
举报
回复
怎么没人回答啊?自己给自己顶一下!
crackzzy
2003-08-22
打赏
举报
回复
但是我怎么实现在父页面等待呢?
而且在IE5上好象不能处理iframe里的onload事件。
这是怎么回事呢?
anita2li
2003-08-22
打赏
举报
回复
<iframe onload=”alert(‘iframe is ok’)”>
你也可以在iframe的业面的最后给一个变量赋值﹐然后在当前页里用setTimeout获取那个值来判断是否加载完成
nik_Amis
2003-08-22
打赏
举报
回复
up
artDialog_Demo
17、默认皮肤改为前版的mini,没有使用任何背景图片,
完全
用css表现 18、修复一处隐秘BUG:当使用Ctrl+回车提交表单并弹出对话框时导致弹出新窗口 (因为此时焦点在对话框关闭链接上,这个快捷键让很多浏览器新建...
跨浏览器的
iframe
onload 事件监听
这时将会出现所有页面
已经
载入
完成,但在
iframe
元素处,将会出现空白,直到内嵌页面完成
载入
时,该 空白处才会显示新
载入
的页面。可想而知,一个页面如果长时间的空白,对于浏览者来说将意味...
HTML基础入门视频课程
课程中使用的所有英文单词都会逐一查询并记录,真正做到零基础入门学习,适合初学者的教程!...内嵌框架
iframe
6.HTML5简介、新特性、新增内容 教学全程采用笔记+代码案例的形式讲解,通俗易懂!!!
vue 监听
iframe
是否加载完毕
1.html文件 <
iframe
src="https://guides.github.com" id="ifra" frameborder="0"></
iframe
> 2.vue 生命周期的 mounted 阶段 mounted () { ... const
iframe
= document.querySelector...
vue如何监听
iframe
加载完成
【代码】vue如何监听
iframe
加载完成。
JavaScript
87,901
社区成员
224,618
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章