我正在使用Javascript预加载图片,它在Chrome,IE和Safari中运行良好,但在Firefox中失败并出现以下错误: “NS_ERROR_NOT_AVAILABLE:”
我正在使用以下功能加载图片:
function loadImages(sources, callback) {
var loadedImages = 0;
var numImages = 0;
// get num of sources
for(var src in sources) {
numImages++;
}
for(var src in sources) {
images[src] = new Image();
images[src].onload = function() {
if(++loadedImages >= numImages) {
callback();
}
};
images[src].src = sources[src];
}}
我设置了图像数组并像这样调用图像加载器:
var sources = {
blockBorder0: 'images/BlockBorder_1.jpg',
blockBorder1: 'images/BlockBorder_2.jpg' };
loadImages(sources, startRender);
为什么Firefox在所有其他浏览器上运行良好时会失败?我把一些调试语句输出到控制台,我看到for循环加载了Firefox中的所有图像。
答案 0 :(得分:0)
如果我将callback()更改为callback.apply(),它可以在Firefox中使用。