在使用iOS的webview的时候发现这样一个问题,加载一个网页进来,webview会负责缓存页面里的css,js和图片这些资源。但是这个缓存不受开发者控制,缓存时间非常短。
我希望能像缓存其他数据一样缓存webview里的资源,可以实现吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这个和Web的处理没区别,都是要用到HTML5的appcache。
...
这个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。这样可以少一些麻烦。