0

我正在尝试优化我的网络应用程序的速度,并且我目前正在控制图像的负载。

我有一个名为webCache的属性,我用它来处理每个图像对象的 .src ...

if (!webCache) src += "?rand="+Math.random();
img.src =src;

如果 webCache 如果为 false,那么我使用 random() 更新 src var 值添加一个随机值,然后,我将新的 src 值添加到对象图像的 src 属性中。

我的问题是,如果webCache是真的,条件 if 没有被执行,并且img.src =src;被平等地执行。值是一样的,src 值没有改变,但是图像可以是另一个....浏览器在这里会如何表现?它会刷新图像吗?

也就是说,如果 src 值相同,但图像是另一个,浏览器将如何表现?

4

1 回答 1

1

这将取决于第一次提供图像时的 http 标头。

服务器可能已经通知浏览器始终重新获取图像,在特定时间段内或直到特定时间点不重新获取图像。

还可能提供了 ETag 或 Last-Modified 标头,允许浏览器向服务器发出 HEAD 请求并检查是否应该下载图像或仅使用它的本地副本。

一些相关的标题是

  • 缓存控制
  • 过期
  • 最后修改
  • 电子标签

在谷歌浏览器中,您可以出于开发目的禁用缓存。按F12,点击右下角的滚轮,选择General,然后勾选“Disable Caching”

于 2013-05-24T08:27:15.930 回答