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