我意識到這是一個常見的問題,由新手javascript程序員問我。 Console.log(img)和console.log(「onload」之前)執行正確,但我從來沒有看到圖像加載消息。爲什麼圖像onload不起作用
AssetManager.loadImages = function(urls) {
var images = [];
var urlCount = urls.length;
for (var i=0; i<urlCount; i++) {
var img = new Image();
images.push(img);
}
var urlsLoaded = 0;
for (var i=0; i<urlCount; i++) {
(function(img) {
console.log(img);
console.log("before onload");
img.onload = function(e) {
console.log("Image Loaded!");
urlsLoaded++;
if (urlsLoaded >= urlCount) {
AssetManager.callback(images);
}
}
})(images[i]);
images[i].src = urls[i];
}
}
這可能是一個很明顯的問題,但你確定圖像存在嗎?嘗試添加'img.onerror = function(){console.log(「Image failed!」);};' –
哪個瀏覽器發生這種情況? – Spudley
我的猜測是,這是因爲圖像已經加載並正在從瀏覽器緩存中獲取。我想我以前見過這個。 – Spudley