使用javascript阻止图像缓存

时间:2015-08-13 10:37:27

标签: javascript image caching

最近,我试图确保浏览器不会缓存我网站上的某些图片。

我遇到了几个问题,比如
Preventing Images being cached in the browser
How to prevent browser image caching?
How to prevent browsers from caching an image?

但是,他们提供的解决方案在很短的时间内停止了为我工作 我在我的网站上有几个图像,但只有一个我不想缓存。

我使用<img src="/img/img.jpg?1275332" />
数字是当前时间戳。

还有其他方法可以防止浏览器缓存吗? 并且有人知道为什么这不起作用了吗?

修改
我不想缓存的图像不是静态图像 当用户更改其中一个图像时,只需更新已更改的图像。这就是我尝试在更改后的图像后添加时间戳的原因。

该应用程序也是SPA,因此不会刷新任何页面。

1 个答案:

答案 0 :(得分:1)

您可以使用application-cache清单文件。为此,您需要以下列方式将其添加到您的html页面:

<!doctype html>
<html manifest="myapp.appcache">
<head>...</head>
<body>...</body>

在应用程序缓存清单中,在“网络”部分中指定图像。 NETWORK部分用于指定绝不能缓存的URL,并且应始终从网络中检索。

CACHE MANIFEST

CACHE:
#html page, scripts etc you want to cache

FALLBACK:
#fallback resource if cached version is not available.

NETWORK:
#image path you don't want to cache

通过将事件处理程序附加到window.applicationCacheonupdateoncachedondownloading,{{onprogress等事件,可以实现对整个过程的更多控制1}}

我希望这可以解决你的问题。