【发布时间】:2011-12-01 20:44:35
【问题描述】:
IE9 显示错误的complete 属性,如下所示:
$("<img/>",{src:"http://farm2.static.flickr.com/1104/1434841504_edc671e65c.jpg"}).each(function(){console.log(this.complete);});
如果您在浏览器控制台中运行此代码,(请留出足够的时间来加载图像)然后再次运行它。 IE9 是我测试过的唯一一个第二次显示 false 的浏览器。这似乎是一个已知的错误,来自一些简单的谷歌搜索。 如果有人有,我需要一个解决方法。
这可能是时间问题,因为让上面的代码设置了一个全局变量:
var img = $("<img....
然后测试该变量的属性会得到不同的结果:
img[0].complete === true
和
img[0].readyState === "complete"
必须有其他方式获取此信息。任何想法...谢谢!
【问题讨论】:
-
这不是基本同一个问题as the one you asked 11 hours ago吗?
-
@Xeon06 肯定有一个细微的差别,他们的其他问题似乎是用措辞来询问错误本身的。在这里,我要求一种解决方法,而且简化的代码在这个问题中可能不那么令人困惑。
-
if( image.complete || image.readyState == "complete" )是你如何测试它是否被缓存 -
-
我得到了一个加载的图像,其中 this.complete 返回 false,而 naturalWidth 返回 undefined。所以我猜 readyState 仍然设置为 true。
标签: javascript jquery internet-explorer