清除ios上的UIWebView缓存

时间:2013-09-05 15:40:13

标签: javascript ios cordova

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

我试过这个:

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

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

location.reload( true )

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

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

谢谢!

4 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您可以拥有图片的网址版本控制系统。正如我在这里提到的那样。

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

使用以下网址参数请求图片。

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

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

How to Enable ajax request caching for semi dynamic data (ie JSON)?

答案 2 :(得分:0)

您可以通过在网址后添加时间戳来解决此问题。然后您可以确保每次请求的网址都不同。

就像这样:updated documentation timestamp

javascript代码就像这样:

var url = 'xxxx/xxx?timestamp=' + Date.now();

答案 3 :(得分:0)

这些都没有帮助我。

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

这很有效。

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

How to display Base64 images in HTML?