浏览器缓存机制
Dom Storgage(Web Storage)存储机制
Web SQL Database存储机制
Application Cache(AppCache)机制
Indexed Database(indexedDB)
File System API
安卓系统开启本地存储需要添加权限
url地址栏中浏览器做了哪些工作
1、获取后端数据(存在浏览器缓存里)
2、从缓存读取数据(data)并渲染页面
3、[加载结构层(html——Domtree)-加载css(cssom、styletree)](渲染树:rendertree)——开始渲染
(遇到js:改dom结构——重新渲染)(减少重新渲染:改js属性(bug:页面不变)(解决:将属性写在function里))
离线应用与浏览器缓存的区别
服务范围不同:离线应用控制对整个web应用进行缓存。离线应用提供的是一-种不在线的网站服务功能,而浏览器缓存
则只是单纯地缓存网页
可靠性:离线应用可以精确地控制浏览器需要缓存哪些资源,它是非常可靠的;但是浏览器缓存则完全依靠浏览器行为,
具有一定的不可靠性
可控制性不同:离线应用可以准确控制缓存哪些资源,并可控制刷新缓存;但浏览器缓存则完全依靠浏览器行为,
程序无法控制缓存
"applicationCache对象
控制缓存
applicationchche接口包含了一个status属性,其返回值如下:
UNCACHE:applicationcache对象所在主机没有开启离线应用功能
IDIE:空闲状态
CHECKING:正在检查本地缓存的manifest文件与服务器端manifest文件的差异
DOWNLOADING:正在下载需要的缓存的数据
UPDATEREADY:已经从服务器把缓存的文件下载到本地,但还未更新本地缓存
OBSOLETE:缓存过期"
applicationchche接口定义了2个方法:
void update ()︰该方法强制检查服务器上manifest文件是否有更新
void swapCache():该方法用于手动更新本地缓存。它只能在applicationCache对象的updateReady事件被触发时调用
配置缓存文件
不同的服务器配置缓存不一样(缓存配置.doc)
缓存文件配置讲解:
级存文件名称index.manifest
如果级存index.html文件,需要再htm1后加上对应的缓存文件index.manifest
判断在线状态
"navigator. onLine:返回当前是否在线。"如果返回值为ture,则表示在线,如果返回false则表示离线
online/offline事件:如果开发者需要在网络状态发生变化时立刻得到通知,则可以通过online/offlie来检测
<html manifest="online.manifest">指定对哪些资源缓存online.html