2

画像の読み込み中にエラーをキャッチしたい。残念ながら、私はそれらをキャッチすることができません.コンソールにこのようなエラーが表示されます.

Failed to load resource file:///C:/Users/Ankur/Dropbox/Public/InteractiveGuide/Images/copyright_symbol.jpg

try catch ブロックと .onerror() の両方を使用しています。これがコードです。

function preloadImages(arr)
{
    var newimages=[], loadedImages=0, dir="./Images/";
    var arr = (typeof arr!="object")?[arr]:arr;
    for(var i=0; i<arr.length; i++)
    {
        try
        {
            newimages[i]=new Image();
            newimages[i].src = dir+arr[i];
            newimages[i].onload = function()
            {
                loadedImages++;
                if(loadedImages==arr.length)
                {
                    iniScene();
                }
            }
            newimages.onerror = function()
            {
                console.log("Error loading image: "+arr[i]);
            }
        }
        catch(ex)
        {
            console.log("Image Loading Error: "+ex);
        }
    }
}

エラーを適切にキャッチする方法は?

4

1 に答える 1

2

問題は、個々の画像オブジェクトではなく、配列にアタッチonerrorしていることです。

代わりに次のことを行う必要があります。

newimages[i].onerror = function() {
    ...
}
于 2013-03-29T10:50:45.443 に答える