我剛剛開始學習一點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