我刚刚开始学习一点JavaScript,我想知道是否有方法检查图像是否已加载到缓存。Javascript:如何检查图像是否已被缓存
在我的脚本im从另一个网页加载一些随机图像并显示它们。 当第二次显示相同的图像时,脚本将不会使用已经加载的图像,而是再次加载相同的图像,以便其中两个存储在我的缓存中。
现在我想检查图像是否已经存储在缓存中,如果是,请使用缓存的图像而不是再次加载图像。
我的代码:
<script>
var img = document.createElement('img');
var index;
//On Click create random 3digit number between 1 and 100
document.getElementById('image').onclick = function(){
var index = '' + Math.floor(Math.random() * 100 +1);
while(index.length < 3) {
index = '0' + index;
}
loadImages(index);
};
//Load the image with the created number
function loadImages(id) {
var src = 'someWebPage/' + id +'.png';
img.onload = function() {
document.getElementById('image').getContext("2d").drawImage(img, 0, 0, 300, 300);
}
img.src = src;
}
</script>
我的缓存图片:
正如你可以看到030.png
和032.png
在高速缓存中的两倍。
希望你能给我一些建议。
编辑: 只为面对这个问题的任何人,它实际上不是一个。 Chrome已经做的一切正确,我只是没有注意到。 正如您在Size
列中看到的那样,图片已经从我的缓存中加载。
https://stackoverflow.com/questions/2446740/post-loading-check-if-an-image-is-in-the-browser-cache –
浏览器在内部处理这个......你无法控制它并且无法访问缓存 – charlietfl