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


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

ios webview 缓存

田中刚大木 10 years, 8 months ago

这个和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。这样可以少一些麻烦。

寂靜威尼斯 answered 10 years, 8 months ago

Your Answer