作者:郑越与焕柳的88_679 | 来源:互联网 | 2023-05-19 01:40
通过几天的研究HMTL5的离线缓存,网上资料查了很多,翻书也看了,折腾来折腾去终于搞定。下面是我的理解,希望对新手有帮忙。一、什么是CacheManifest话说,作为一个web开
通过几天的研究HMTL5的离线缓存,网上资料查了很多,翻书也看了,折腾来折腾去终于搞定。下面是我的理解,希望对新手有帮忙。
一、什么是Cache Manifest
话说,作为一个 web 开发相关的人员,都不会少听到、看到 cache 这个词。是的,上面也已经说了,它是一种缓存的机制。它可以通过一个 .manifest 文件来配置需要缓存的或者一定要保持联网缓存的文件。而重点就是这个 .manifest 文件,具体的可以 Google 一下,而简单的我帮你整理一下现在可能会希望了解的东西:
服务器需要支持 MIME TYPE:text/cache-manifest
需要由你创建的:NAME.manifest
二、创建test.manifest 文件
CACHE MANIFEST
#version 5.0
#直接缓存的文件
CACHE:
#绝对路径 和 相对路径都可以
js/initial.js
js/keyevent.js
js/uianimate.js
js/jquery.min.js
loading.gif
# 需要在线访问的文件 *是通配符,表示不在缓存里面的文件都需要在线访问
NETWORK:
*
# 替代方案 一个是在线访问的页面 一个不在线访问的页面
FALLBACK
online.html off.html
相关事件
三、好吧前面扯了一些有用没用的 现在说说运用场景移动开发 hybrid模式开发的时候 应用需要请求远程资源需要登录把资源缓存起来下次
方便下次进入应该可以不用请求服务器代码,有更新的时候可以应用上面的相关API 方法 也可以让应用写API在两个页面之间传值。
loading.html 简称加载页面简单的一个iframe 这个地方也可以做用户登录
zhongjian.html 中间页面 启动应用iframe 会请求这个页面把资源下载下来下载完成可以告诉 loading页面 可以跳转到index.html页面了
index.html 首页,由于中间页面以及做过一次离线缓存了,到了首页再去判断一次 manifest文件是为了更新远程页面的时候进入index.html 都是最新的代码
总结:
缓存第一次下来代码肯定是最新,但是有更新会去检测更新资源,但是需要浏览器刷新,才能获取到最新的代码,中间的页面就是为了进入首页
是保证获取到的资源是最新的。PS:这个技术用的其实很郁闷老是在更新版本的时候出现莫名其妙的错误,如果有朋友这样用过请来交流下,如果没看明白的情留言给我~~~