2

我想让 javascript 访问 cilent 的缓存以检查他们是否加载了图像,我可以这样做还是会给我相同的来源错误?

没有的网站也会发生什么

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

4

2 回答 2

2

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

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

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

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

于 2013-04-21T08:01:25.207 回答
1

不确定您要做什么,但大多数浏览器都会为您解决这个问题。

这意味着在请求完整图像之前,它通常会向服务器发送缓存图像的“最后修改日期”,304 unmodified如果缓存资源没有更改,服务器将回复状态。

有关更多信息,请查看此链接:

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

  1. 浏览器:嘿,给我 logo.png,但前提是它自 2007 年 3 月 16 日以来被修改过。
  2. 服务器:(查看修改日期)
  3. 服务员:嘿,你走运了!自该日期以来,它没有被修改过。你有最新版本。
  4. 浏览器:太好了!我将向用户展示缓存的版本。
于 2013-04-21T08:01:23.027 回答