WebView中的图片和JS,CSS这些资源文件如何缓存

在使用iOS的webview的时候发现这样一个问题,加载一个网页进来,webview会负责缓存页面里的css,js和图片这些资源。但是这个缓存不受开发者控制,缓存时间非常短。
我希望能像缓存其他数据一样缓存webview里的资源,可以实现吗?

阅读 19k
1 个回答

这个和Web的处理没区别,都是要用到HTML5的appcache。

<html manifest="appcache.manifest">
...
</html>

这个manifest文件的后缀是什么不重要,但MimeType得是text/cache-manifest,文件内容则类似下面列举需要缓存的资源文件:

CACHE MANIFEST
style.css
script.js

text/cache-manifest类型的缓存头信息得设置对了(建议不允许缓存),免得其他缓存文件的列表没法及时更新。

EDIT:按照约定,如果manifest文件内容变化了,浏览器就应该重新检查资源文件的更新情况。我建议如果资源文件的内容变化了,就应该用新的文件名,如在资源文件的uri里带上日期或者版本号,如common_120901.min.js,或1.0.1/common.min.js。这样可以少一些麻烦。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏