如何判断某一个Frame/IFrame是成功读取页面还是遇到404等错误?

cat_hsfz 2005-02-01 11:16:01
我在javascript中改变某一个IFrame的src,然后希望知道他是成功获取页面了还是遇到404等错误了。我的思路是在改变IFrame的src后setInterval一个函数去定期检测IFrame的某些属性,直到确定IFrame的状态位置,现在我的问题是不知道IFrame的哪些属性能够判断出它引用页面的状态。
...全文
2398 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cat_hsfz 2005-03-06
  • 打赏
  • 举报
回复
请问有没有能够兼容Firefox 1.0的解决方案?
JK_10000 2005-02-02
  • 打赏
  • 举报
回复
res://C:\WINNT\system32\shdoclc.dll

发生404错误会,页面的url会变成以下吗
res://C:\WINNT\system32\shdoclc.dll。。。。

如果是,就会存在跨域的问题,
可以用以下判断:

function mm()
{
if(window.frames["iframeName"].document==null)
alert("错误");
} mm();
是是非非 2005-02-02
  • 打赏
  • 举报
回复
function mm()
{
if(window.frames["iframeName"].document.title.substr(0,3)=="404")
alert("404错误");
else setTimeout("mm()", 100);
} mm();
cat_hsfz 2005-02-02
  • 打赏
  • 举报
回复
这个方法还是不够好啊,我发现如果遇到了404错误,那么window.frames["iframeName"]下面就根本不存在document对象,所以readyState只能够判断成功Load,而不能够判断是否已经Load失败了(可能还在超时中)。我希望的是,IE在接收到404之后,我也尽快能够获得此消息,而不是我自己设一个timeout标准在若干时间内不成功就算失败。
cat_hsfz 2005-02-01
  • 打赏
  • 举报
回复
那么请问readyState还可能存在的其他值是什么?分别代表什么状态?
梅雪香 2005-02-01
  • 打赏
  • 举报
回复
嗯,楼上正解了
meizz 2005-02-01
  • 打赏
  • 举报
回复
function mm()
{
if(window.frames["iframeName"].document.readyState=="complete")
alert("已经加载完毕");
else setTimeout("mm()", 100);
} mm();

87,904

社区成员

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

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