CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

如何判断一个IFrame已经下载完成了?

楼主orion_04(猎户座)2006-03-10 15:00:54 在 Web 开发 / JavaScript 提问

我要做一个批量下载html页面的程序,我的页面里面有两个frame,其中一个输入需要下载的url,另外一个负责下载,一个任务完毕之后自动启动下一个任务,但是我遇到的问题是我无法得知我的那个负责下载的Frame的相关页面是否已经完成。  
   
  我有两个解决办法,但是都不好。  
  1。window.onload=myfunc     由于下载的页面不是我写的,其中也许也有window.onload的赋值,这样就会覆盖我的函数,使我无法得到onload的消息。  
   
  2。每隔一段时间去判断readystate是不是complete,这个也有问题,就是判断太频繁了比较费资源,判断不频繁的话,下载大量的小网页的时候需要的时间太大。  
   
  大家有没有什么好方法? 问题点数:100、回复次数:14Top

1 楼hbhbhbhbhb1021(天外水火(我要多努力))回复于 2006-03-10 15:03:51 得分 30

<iframe   name="www"   src="http://www.baidu.com"   onload="alert('haha')">  
  </iframe>  
  写在上面的页面上  
  Top

2 楼meizz(梅花雪)回复于 2006-03-10 15:12:29 得分 0

function   mm()  
  {  
      if(frames["_hideFrame"].document.readyState=="complete")  
          alert("已经加载完毕");  
      else   setTimeout("mm()",   100);  
  }   mm();Top

3 楼ice_berg16(寻梦的稻草人)回复于 2006-03-10 15:35:20 得分 0

可以使用xmlhttp来下载  
  xmlhttp.onreadystatechange   =   function(){  
      if   (this.readyState   ==   4)  
      {  
              alert('加载完毕!');  
      }  
  }Top

4 楼orion_04(猎户座)回复于 2006-03-10 16:29:57 得分 0

谢谢大家。  
  请问,有办法知道一个url不存在么?或者load失败?Top

5 楼luoyue2001(小兜头)回复于 2006-03-10 16:40:44 得分 0

new   Ajax.Request(  
  url,  
  {method:   'post',   parameters:   postStr,   onFailure:   function(request){   alert('失败');   },   onSuccess:   function(request){alert('已经加载完毕');}   });  
  Top

6 楼ice_berg16(寻梦的稻草人)回复于 2006-03-10 16:42:16 得分 70

<script   type="text/javascript">  
  var   xml   =   new   ActiveXObject("Msxml2.XMLHTTP");  
  var   url   =   "http://www.163.com/test.htm";  
  xml.onreadystatechange=function(){  
  if(   xml.readyState   ==   4   )  
  {  
  if(   xml.status   ==   200   )  
  alert('网页存在!');  
  else  
  alert('网页不存在');  
  }  
  }  
  xml.open('get',url,true);  
  xml.send();  
   
  </script>Top

7 楼orion_04(猎户座)回复于 2006-03-10 16:50:28 得分 0

谢谢楼上的兄弟,你用的XMLHTTP就是Firefox里面的XMLHTTPRequest吧。挺好用的。  
   
  不过我这边要做的事情是想把网页都下载到cache中,以便加速后面的浏览。这样的话XMLHTTP这种方法就不行了,因为这种方法不能把网页的相关内容,比如图片等东西一并下载下来。  
   
  能不能通过iframe来做这件事情呢?Top

8 楼ice_berg16(寻梦的稻草人)回复于 2006-03-10 17:24:24 得分 0

<input   type="button"   value="加载"   onclick="loadURL('http://www.163.com')"/>  
  <input   type="button"   value="显示"   onclick="show()"/>  
  <iframe   id="ice"   style="display:none"></iframe>  
  <script   type="text/javascript">  
  function   loadURL(url){  
  var   f   =   document.getElementById("ice");  
  f.style.display="none";  
  f.src=   url;  
  f.onreadystatechange=function(){  
  if(   f.readyState   ==   'complete'   )  
  {  
  alert('加载完毕');  
  }  
  }  
  }  
  function   show()  
  {  
  document.getElementById("ice").style.display="block";  
  }  
  </script>Top

9 楼mingxuan3000(铭轩)回复于 2006-03-10 17:28:48 得分 0

markTop

10 楼orion_04(猎户座)回复于 2006-03-10 17:35:37 得分 0

ice,   谢谢你。请问你知道在上面这段code中如何判断网页不存在的情况么?这个是我想知道的。:)  
   
  Top

11 楼ice_berg16(寻梦的稻草人)回复于 2006-03-10 21:03:09 得分 0

这个没办法,如果http   server   自定义404页面的话,你根本不知道那是不是不存在的  
  对于server返回404的情况,可以这样  
  f.onreadystatechange=function(){  
  if(   f.readyState   ==   'complete'   )  
  {  
  alert('加载完毕');  
  if(f.contentWindow.document.title.indexOf("404")   !=   "-1   )  
          alert('网页不存在');  
  else  
          alert('网页存在');  
  }  
  }Top

12 楼ice_berg16(寻梦的稻草人)回复于 2006-03-10 21:03:47 得分 0

indexOf("404")   !=   "-1   )  
  =>  
  indexOf("404")   !=   -1   )Top

13 楼orion_04(猎户座)回复于 2006-03-12 19:36:42 得分 0

谢谢。Top

14 楼MYLiao(醉书生)回复于 2006-03-13 19:38:04 得分 0

markTop

相关问题

  • 如何判断一个页面下载完成呢?
  • 怎样判断BT文件已经下载完成?
  • 判断子窗口下载完成的代码是?
  • masterz,111222过来看看,BHO中判断网页下载完成的问题
  • 请问如何判断网页中所有的内容已经下载完成?
  • 如果网页中含有Frame,如何判断网页是否真正下载完成?谢谢大家!
  • 判断IFRAME是否存在
  • 如何判断网页下载完毕
  • 我用分布式数据后每次只下载10笔,我该如何在客户端获得要下载几次,到底有无下载完成呢?另我该如何判断日期字段为空的
  • 怎样判断copyfile是否完成呢?

关键词

  • 下载
  • 页面
  • 网页
  • 判断
  • 加载完毕
  • readystate
  • 谢谢
  • 存在
  • alert
  • onload

得分解答快速导航

  • 帖主:orion_04
  • hbhbhbhbhb1021
  • ice_berg16

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo