1.h5离线缓存实现步骤:
a. 在html 标签中添加manifest,例子:<html lang="en" manifest="cache.appcache">
b. 新建一个文件后缀为appcache,文件中存放要缓存的文件,及哪些需要在线请求的文件,该文件需要放在服务器上。
格式如下:
CACHE MANIFEST
#V1.1.24
#V1.1.24
#存放需要缓存的文件名称
bootstrap/css/bootstrap.css
css/index-pc.css
js/index.js
bootstrap/js/bootstrap.js
bootstrap/css/bootstrap.css
css/index-pc.css
js/index.js
bootstrap/js/bootstrap.js
NETWORK: #使用星号来指示所有其他资源/文件都需要因特网连接
*
FALLBACK:
#无法建立因特网连接,则用 "offline.html" 替代 /html5/ 目录中的所有文件
test.html
test.html
c. 声明manifest的mime类型,apache下可以在httpd.conf中加上
AddType text/cache-manifest manifest
AddType text/cache-manifest .appcache
2.sessionstroage,将接口数据缓存在sessionstroage中,需要注意的是json对象的存储。
将result这个json对象转换为字符串存储在缓存中。例子:
goLibrary=JSON.stringify(result);
sessionStorage.setItem('goLibrary',goLibrary);
取缓存数据的时候,将字符串再转换为对象。
goLibrary=sessionStorage.getItem('goLibrary');
goLibrary=JSON.parse(goLibrary);注意事项:
1.一旦文件被缓存,则浏览器会继续展示已缓存的版本,即使您修改了服务器上的文件。为了确保浏览器更新缓存,您需要更新 manifest 文件。
2.浏览器对缓存数据的容量限制可能不太一样(某些浏览器设置的限制是每个站点 5MB)