4

我有一个 Phonegap 应用程序,我需要在某些时候删除 html 缓存,因为我已经更新了我的应用程序中的图像。

我试过这个:

[[NSURLCache sharedURLCache] removeAllCachedResponses];
[[NSURLCache sharedURLCache] setDiskCapacity:0];
[[NSURLCache sharedURLCache] setMemoryCapacity:0];

通过javascript在插件中调用,我这样做:

location.reload( true )

但我仍然看到似乎被缓存的相同图像。

还有另一种方法吗?我可以告诉用户退出应用程序并杀死它并在之后重新启动它。

谢谢 !!

4

4 回答 4

0

您可以尝试完全删除应用程序中的缓存目录,例如在应用程序的第一次启动时

于 2013-09-05T17:51:49.880 回答
0

您可以拥有图像的 URL 版本控制系统。正如我在这里提到的。

http://www.abksharma.in/2013/10/caching-using-javascript-versioning.html

使用以下 URL 参数请求图像。

http://s.wordpress.org/screenshots/3.5/ss5-dfw.gif?1
http://web-sniffer.net/
Above is truly cached image with below headers

对于 DATA,我们可以在下面使用。

如何为半动态数据(即 JSON)启用 ajax 请求缓存?

于 2013-10-21T10:21:32.063 回答
0

这些都没有帮助我。

我担心我将不得不求助于生成唯一的文件名并在完成后进行清理。

这很好用。

<img src="data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAeu
... snip data ....
YII=">

如何在 HTML 中显示 Base64 图像?

于 2017-03-09T22:47:24.133 回答
0

您可以通过在 url 之后添加时间戳来简单地解决此问题。然后您可以确保您每次请求的 url 都是不同的。

就像这样:httptimestamp ://www.demo.com/xxxx?t= 。

javascript代码就像这样:

var url = 'xxxx/xxx?timestamp=' + Date.now();
于 2016-06-12T08:12:55.410 回答