图像onload事件没有在firefox中触发

时间:2013-04-08 20:35:45

标签: javascript jquery firefox

我正在创建一个图像预加载器。它适用于所有浏览器,除了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中加载图像的时间?

1 个答案:

答案 0 :(得分:0)

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

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

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