我正在创建图像预加载器。它在除Firefox(使用Firefox 10.0进行测试)之外的所有浏览器中均可正常运行。基本上,输入是称为image_list
的图像数组。这些图像被动态地附加到文档的主体,并附加了一个加载回调,该回调调用函数update_progress
。代码如下:
$(image_list).each(function() {
var x = $('<img />')
.load(function() {update_progress(percent_loaded += step);})
.attr('src', this)
.appendTo('body')
.css('display', 'none');
.each(function() {
if(this.complete)
update_progress(percent_loaded += step);
});
});
在Firefox中,永远不会调用load回调和
update_progress
。但是,完全相同的代码在chrome和我测试过的所有其他浏览器中都可以正常工作。有什么方法可以检测到何时在Firefox中加载了图像? 最佳答案
我将首先通过检查其height属性来检查图像是否具有高度。
if (the_image.height > 0) {
// The image is already loaded (possibly cached)
}
如果您有任何缓存的图像等,这应该可以帮助您解决该问题。