2013-04-21 110 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

相关问题