我想让 javascript 访问 cilent 的缓存以检查他们是否加载了图像,我可以这样做还是会给我相同的来源错误?
没有的网站也会发生什么
ccess-Control-Allow-Origin 设置为全部?
我想让 javascript 访问 cilent 的缓存以检查他们是否加载了图像,我可以这样做还是会给我相同的来源错误?
没有的网站也会发生什么
ccess-Control-Allow-Origin 设置为全部?
您可以使用此功能(从this question复制)来测试图像是否在缓存中。
function cached(url) {
var test = document.createElement("img");
test.src = url;
return test.complete || test.width+test.height > 0;
}
事实是,一旦浏览器缓存了图像,您就不需要从缓存中加载图像,因为浏览器会为您做所有事情。
因此,只需插入一个普通的 . 让浏览器完成它的工作。
不确定您要做什么,但大多数浏览器都会为您解决这个问题。
这意味着在请求完整图像之前,它通常会向服务器发送缓存图像的“最后修改日期”,304 unmodified
如果缓存资源没有更改,服务器将回复状态。
有关更多信息,请查看此链接:
http://betterexplained.com/articles/how-to-optimize-your-site-with-http-caching/
- 浏览器:嘿,给我 logo.png,但前提是它自 2007 年 3 月 16 日以来被修改过。
- 服务器:(查看修改日期)
- 服务员:嘿,你走运了!自该日期以来,它没有被修改过。你有最新版本。
- 浏览器:太好了!我将向用户展示缓存的版本。