到preload Image files in JavaScript標準的方式似乎是這樣的:在內存中保留圖像是否會阻止該圖像的緩存過期?
var images_to_load = ['img1.png', 'img2.png', 'img3.png'];
for(var i=0; i<images_to_load.length; i++){
var img = new Image();
img.src = images_to_load[i];
}
這通過讓瀏覽器請求的圖像文件將圖像加載到緩存中。但是,不能保證圖像文件在緩存中存在,如cache expiration time is dependent on server settings and browser settings。
如果您將Image對象保存在內存中,圖像是否保證保留在緩存中直到頁面關閉?這裏有一個基本的例子:
var images_to_load = ['img1.png', 'img2.png', 'img3.png'];
var loaded_images = [];
for(var i=0; i<images_to_load.length; i++){
var img = new Image();
img.src = images_to_load[i];
loaded_images.push(img);
}
爲什麼不使用localstorage,webstorage? – hubman
我的理解是localStorage/sessionStorage不能存儲圖像文件。我知道有辦法將圖像編碼爲DataURI,但對於我的特定問題,這不是一個理想的解決方案。 –
我試圖澄清粗體句子。它原來措辭的方式聽起來很奇怪(我的腦子在解析句子時偶然發現)。我正在做這個評論來驗證OP,我沒有意外地改變粗體語句的含義。 – Amy