3

我正在创建一个图像预加载器。它在除 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 中,加载回调update_progress永远不会被调用。然而,完全相同的代码在我测试过的 chrome 和所有其他浏览器中运行良好。有什么方法可以检测图像何时在 Firefox 中加载?

4

1 回答 1

0

我会首先通过检查其高度属性来检查图像是否具有高度。

if (the_image.height > 0) {
  // The image is already loaded (possibly cached)
}

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

于 2014-09-23T05:55:41.977 回答