2013-04-21 85 views

回答

1

不知道你在做什麼,但大多數瀏覽器都爲你做好了。

這意味着在請求完整映像之前,它通常會將緩存映像的「上次修改日期」發送到服務器,如果緩存資源沒有更改,服務器將以304 unmodified狀態進行回覆。

有關更多信息,請點擊此鏈接:

http://betterexplained.com/articles/how-to-optimize-your-site-with-http-caching/

  1. 瀏覽器:嘿,給我logo.png,但只有當它已經自03月16日修改,2007年
  2. 服務器:(查看修改日期)
  3. 服務器:嗨,你好運!從那天起它沒有被修改。你有最新版本。
  4. 瀏覽器:太好了!我將向用戶顯示緩存版本。
+0

是的我沒有訪問該服務器,我可以加載我的服務器上的外部圖像,看看什麼是無聲的響應? – user2303895 2013-04-21 08:12:42

+0

如果它在你自己的服務器上(同域),你應該可以讀取XHR的標題,請點擊這裏http://stackoverflow.com/a/4881836/149636 – lostsource 2013-04-21 08:22:12

2

您可以使用此功能(複製自this question)來測試圖像是否在緩存中。

function cached(url) { 
    var test = document.createElement("img"); 
    test.src = url; 
    return test.complete || test.width+test.height > 0; 
} 

事實是,一旦瀏覽器緩存圖像,沒有額外需要你將圖像從緩存中加載,瀏覽器會爲你做的一切。

因此,只需插入一個普通的。讓瀏覽器完成它的工作。

+0

似乎你已經恢復了原來的功能, 。 如果var已設置,您已經加載它。 似乎是最直接的方法,但這不是一個caché檢索功能。只是一個負載檢查/記錄功能。 不具有高速緩存訪​​問的JavaScript? – erm3nda 2015-04-18 00:12:21