song527002517 2021-09-03 13:19 采纳率: 100%
浏览 63
已结题

为什么图片加载失败imageObject.complete也会返回true


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>title</title>
<script>
function alertComplete(){
    alert("图片加载完成: " + document.getElementById("compman").complete);
}
</script>
</head>

<body onload="alertComplete()">
<img id="compman" src="compman.gif" alt="Computerman" width="107" height="98">

</body>
</html>
  • 写回答

1条回答 默认 最新

  • CSDN专家-微编程 2021-09-03 13:43
    关注

    这个问题很简单,你想让他为false就是使用IE浏览器,测试如下

    img

    如果其他浏览器可能就是true,如谷歌浏览器测试如下

    img

    对于 complete 属性来讲,IE是根据图片是否显示过来判断,就是说当加载的图片显示出来后,complete 属性的值才为 true ,否则一直是 false ,和以前是否加载过该张图片没有关系,即和缓存没有关系!但是其它浏览器表现出来的确不一样,只要以前加载过该图,浏览器有缓存,也无论src是否有值,成功与否,只要获取到image,就可以执行,complete 就为 true。所以这个complete在不同浏览器中结果是不一样的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月11日
  • 已采纳回答 9月3日
  • 修改了问题 9月3日
  • 创建了问题 9月3日