我想让javascript访问cilent的缓存以检查他们是否有图片已加载,我可以这样做还是会给我带来相同的原始错误?
还有没有
的网站会发生什么ccess-Control-Allow-Origin设置为全部?
答案 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/
- 浏览器:嘿,给我logo.png,但仅限于自2007年3月16日起修改。
- 服务器:(检查修改日期)
- 服务器:嘿,你很幸运!自那个日期以来没有修改过。你有最新的版本。
- 浏览器:好极了!我将向用户显示缓存版本。
醇>