2014-06-07 53 views
0

我有兩頁,第一頁加載後,我用javascript圖像對象是這樣的:如果我使用Image()加載背景圖像,它會被緩存嗎?

var workshopBack = new Image(); 
workshopBack.src = "/images/wBack.jpg"; 

的wBack.jpg是下一個頁面的背景,但它是巨大的,所以我才加載它在第一頁本身。現在我的問題是,當用戶導航到下一頁時,背景是否會從緩存中加載,或者是否會再次下載它?

+0

只是嘗試它!,檢查使用Firefox中的螢火蟲,它會告訴它是否來自大桶緩存或從源 –

回答

0

通常情況下,加載圖像會將其保存在緩存中一段時間​​,但不能保證。

瀏覽器緩存應該如何工作沒有標準,它只是作爲瀏覽器供應商知道的最佳實現。由於其大小,一些瀏覽器完全有可能會盡快刪除映像。您只需在不同的瀏覽器中測試,看看它們是如何反應的。

此外,緩存的狀態也可能會影響結果。即使您的瀏覽器保留了該映像,其他一些用戶也可能在緩存中擁有不同的一組文件,或者存在不同的緩存限制,從而導致瀏覽器丟失映像。你只能確保它在大多數情況下工作,並不能保證它在任何情況下都能正常工作。

+0

那麼如果是這樣的話,可以使用Ajax加載整個頁面,然後設置清單文件這樣緩存是有保證的? – Inglocines

+0

@Inglocines:這可能有幫助。但它仍然不能保證。某些瀏覽器(例如Firefox)要求用戶在本地存儲任何內容之前接受通知)。某些瀏覽器(例如IE9及更早版本)不支持清單。 – Guffa

相關問題