quando sono entrato in un'intervista, mi è stata fatta la domanda, non sapevo come rispondere.come verificare se un'immagine è stata memorizzata nella cache in js?
Conosci il punto chiave della domanda?
quando sono entrato in un'intervista, mi è stata fatta la domanda, non sapevo come rispondere.come verificare se un'immagine è stata memorizzata nella cache in js?
Conosci il punto chiave della domanda?
Verificare se l'attributo complete
dell'oggetto Image
è true
:
function is_cached(src) {
var image = new Image();
image.src = src;
return image.complete;
}
Sembra funzionare (anche se sarà caricare l'immagine, se non è nella cache, che potrebbe non essere quello che si vuole):
> 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
si potrebbe verificare come:
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");
@JaredFarr ish - Presumo che il testo che stai cercando sia "passato questi casi di test". Per me "sembra funzionare" implica non aver fatto di tutto per cercare la questione più in profondità della domanda giustificata. – aaaaaa
Questo non controlla la cache. Controlla il DOM, puoi verificarlo aprendo due schede, "verificando" in una scheda (false) "verificando" di nuovo nella stessa scheda (true) e poi andando alla seconda scheda e "verificando" (false), anche se dovrebbe essere memorizzato nella cache. – Cheruvian