我刚开始学习一点JavaScript,想知道是否有方法可以检查图像是否已经加载到缓存中。
在我的脚本中,我从另一个网页加载一些随机图像并显示它们。当同一张图片第二次被显示时,脚本不会使用已经加载的图片,而是再次加载相同的图片,这样我的缓存中就有两个相同的图片。
现在我想要检查图像是否已经存储在缓存中,如果是,则使用缓存的图像,而不是重新加载它。
我的代码:
在我的脚本中,我从另一个网页加载一些随机图像并显示它们。当同一张图片第二次被显示时,脚本不会使用已经加载的图片,而是再次加载相同的图片,这样我的缓存中就有两个相同的图片。
现在我想要检查图像是否已经存储在缓存中,如果是,则使用缓存的图像,而不是重新加载它。
我的代码:
<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
列中看到的那样,这些图片已经从我的缓存中加载。