Ho cercato di scoprire se un'immagine esterna viene memorizzato nella cache del browser con js, questo è il codice che ho finora:Utilizzare image.complete per trovare se l'immagine è memorizzata nella cache su chrome?
<html>
<head></head>
<body>
<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script>
function cached(url) {
$("#imgx").attr({"src":url});
if(document.getElementById("imgx").complete) {
return true;
} else {
if(document.getElementById("imgx").width > 0) return true;
}
return false;
}
</script>
<img id="imgx" src="" />
<script>
$(document).ready(function(){
alert(cached("http://www.google.com/images/srpr/nav_logo80.png"));
});
</script>
</body>
</html>
Funziona perfettamente su Firefox, ma restituisce sempre false su bicromato di potassio.
Qualcuno ha qualche idea su come farlo funzionare con chrome?
Perché dovrebbe importare se un asset è memorizzato nella cache? :/ – Matchu
Lo standard W3C non ha alcuna API di questo tipo, quindi è probabile che usiate alcuni hack specifici del browser che non è una buona cosa da fare – Ankur
Anche se l'immagine è memorizzata nella cache, caricare l'immagine è comunque molto probabilmente asincrona, ed è improbabile che il browser abbia completato il caricamento e la visualizzazione dell'immagine prima di eseguire la successiva riga JavaScript. – RoToRa