我有一個gif,我在phototshop(一個加載輪),但我發現,我使用它的方式(隱藏,然後用CSS顯示並在以後用JavaScript寫)也是首先是laggy,它在開始的時候確實跳過了難關。所以我決定在我稱之前緩存圖像。所以這是我如何做到這一點:JavaScript沒有緩存圖像
function preloadImages(array) {
for (var i = 0; i < array.length; i++) {
var img = new Image();
img.src = array[i];
preloadImages.list.push(img);
}
}
var imageURLs = [
"loading.gif"
];
如果我沒有錯,應該工作。但以防萬一我也嘗試過:
loading = new Image(60,60)
loading.src = "images/loading.gif"
我從教程拉。 現在,當我實現這個(當前是第一個),然後通常在稍後調用圖像時,它看起來運行得更快,我可以在緩存中看到它。然而,作爲懷疑論者,我決定放入一張我從來沒有在HTML中使用過的圖片,看看它是否被緩存(因爲它應該),但從來沒有調用它。所以我的繼承人新的JS:
function preloadImages(array) {
for (var i = 0; i < array.length; i++) {
var img = new Image();
img.src = array[i];
preloadImages.list.push(img);
}
}
var imageURLs = [
"loading.gif",
"today.gif"
];
請注意,我在today.gif
加入現在,如果我的緩存的理解是正確的,這個圖像現在應該緩存,即使我從來沒有把它在我的「原始」 HTML是否正確?好吧,不。這讓我懷疑加載gif是否被緩存,或者我的瀏覽器是否決定合作一下。有任何想法嗎?繼承人什麼緩存看起來像重裝後,一個新的明確與使用中的第二個JavaScript代碼段:
所以這裏的問題是:是它的工作即使緩存說,這是不是?我在想象什麼?我是否正確/正確地理解本地緩存是否正確?如果沒有,有人可以向我解釋我哪裏會出錯嗎?乾杯。
你可以檢查瀏覽器工具中的「net」選項卡,看看是否有GIF請求嗎? – 2013-03-14 19:38:25
你在調用預載功能嗎? 'preloadImages(imageURLs);' – 2013-03-14 19:39:14
在'for'循環結束後拋出'alert('ASDF');'看看它是否彈出。 (這個窮人的調試方法。) – 2013-03-14 19:40:14