我正在创建图像预加载器。它在除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)
}

如果您有任何缓存的图像等,这应该可以帮助您解决该问题。

07-24 18:54
查看更多