加载外部图像前检查浏览器缓存

时间:2013-04-21 07:56:44

标签: javascript jquery

我想让javascript访问cilent的缓存以检查他们是否有图片已加载,我可以这样做还是会给我带来相同的原始错误?

还有没有

的网站会发生什么

ccess-Control-Allow-Origin设置为全部?

2 个答案:

答案 0 :(得分:2)

您可以使用此功能(从this question复制)来测试图像是否在缓存中。

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

事实是,一旦浏览器缓存了图像,就不再需要从缓存中加载图像,因为浏览器会为您完成所有操作。

因此,只需插入一个平原。让浏览器完成它的工作。

答案 1 :(得分:1)

不确定您要做什么,但大多数浏览器会为您处理。

这意味着在请求完整映像之前,它通常会将缓存映像的“上次修改日期”发送到服务器,如果缓存的资源没有更改,服务器将以304 unmodified状态进行回复。 / p>

有关更多信息,请访问以下链接:

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

  
      
  1. 浏览器:嘿,给我logo.png,但仅限于自2007年3月16日起修改。
  2.   
  3. 服务器:(检查修改日期)
  4.   
  5. 服务器:嘿,你很幸运!自那个日期以来没有修改过。你有最新的版本。
  6.   
  7. 浏览器:好极了!我将向用户显示缓存版本。
  8.