12

面接に参加したとき、質問されましたが、どう答えたらよいかわかりませんでした。

質問の要点がわかりますか?

4

2 に答える 2

26

Check if the complete attribute of the Image object is true:

function is_cached(src) {
    var image = new Image();
    image.src = src;

    return image.complete;
}

It seems to work (although it'll load the image if it isn't in the cache, which might not be what you want):

> is_cached('http://cdn.sstatic.net/stackoverflow/img/sprites.png?v=3')
false
> is_cached('http://cdn.sstatic.net/stackoverflow/img/sprites.png?v=3')
true
于 2013-03-12T03:35:21.567 に答える
5

you could check like:

function is_cached(img_url){
    var imgEle = document.createElement("img");
    imgEle.src = img_url;
    return imgEle.complete || (imgEle.width+imgEle.height) > 0;
}

//and check, returns true or false depending on cached or not
is_cached("http://www.somesite.com/some_image.jpg");
于 2013-03-12T03:37:25.780 に答える