我試圖通過構建它的路徑和文件名來設置一個圖像src。如何正確調用img onerror回調函數?
這是我的代碼:
var extensions = ["jpg", "jpeg", "JPG","JPEG","png","PNG", "gif", "GIF"];
var i=0;
var img = document.querySelector("img");
var testImages= function() {
img.src = "Wildschwein_Sus_scrofa."+extensions[i];
i++;
if (i<extensions.length)
img.onerror = testImages;
}
testImages();
但我不知道發生了什麼。如果我做的:
img.onerror = testImages;
好像只有最後一個擴展proccesed因爲我得到:
GET file:///home/beol/Desktop/Wildschwein_Sus_scrofa.GIF net::ERR_FILE_NOT_FOUND
如果我做的:
img.onerror = testImages();
函數被調用遞歸無限次。
有人能告訴我y代碼有什麼問題嗎?
我認爲OP的意思是相反的:嘗試另一個擴展如果加載失敗,而不是如果它已經正確加載。 – pawel
那麼OP的代碼有什麼問題呢? –
#1問題是他在設置src後在循環中分配錯誤處理程序 – mplungjan