----- 缓存文件

- 使用UTF-8编码
- 以Cache Manifest 开头
- 三个基本部分

CACHE MANIFEST
menu.html
menu.js
# login requires network
connection
NETWORK:
login.php
FALLBACK:
/ /menu.html
CACHE:
style/innbar.css

- NetWork:此类文件需要从网络访问
- FallBack:缓存找不到的时候显示它
- Cache:真正要缓存的内容

----- 离线状态

- window.applicationCache

取值 名称 含义
---------------------------------------------------------------------
0 UnCached 页面完全没有被缓存,可能是没被设定或者尚未被下载
1 IDLE 已经被下载并可以访问
2 CheCking 正在检查缓存是否需要更新
3 Downloading 发现新版本正在更新
4 UpDateReady 已经下载完成,下次离线访问就可用
5 ObSolete 缓存清单文件访问失败,此页面会被从缓存中清除

window.applicationCache.status // 获取状态

----- 离线事件

window.applicationCache.add EventListener("progress",
function(e) {
alert("新文件下载");
}, false);

名称 描述
--------------------------------------------------
checking 检查在manifest里面的文件是否有更新
noupdate 没有找到新文件
donwloading 下载中
progress 任何文件被下载这一事件都会被唤起
cached 所有缓存都被下载完
updateready 由于manifest,所有文件被重新下载完毕
obsolete 由于manifest清空,文件找不到
error 各种错误,比如manifest文件格式错

------ 更新缓存方法

- JS中提供update()和swapCache()直接更新缓存

<button onclick="window.applicationCache.update();">更新缓存</button>
window.applicationCache.addEventListene r("updateready",
function(e) {window.applicationCache.swapCache();
alert("New Cache in action");
}, false);

- 可以使用SetInterval()定期唤醒更新

------ 检测是否在线

- window.navigator.onLine

window.addEventLis tener("online", function() {
alert("你是在线的");
}, false);
window.addEventLis tener("offline", function()
{
alert("你是离线的");
}, false);

- 不测路由,只测连接,所以可能联网当不能上网

HTML5之缓存的更多相关文章

  1. HTML5离线缓存(Application Cache)

    HTML5离线缓存又名Application Cache,是从浏览器的缓存中分出来的一块缓存区,要想在这个缓存中保存数据,可以使用一个描述文件(manifest file),列出要下载和缓存的资源. ...

  2. HTML5 离线缓存管理库

    一.HTML5离线缓存技术 支持离线缓存是HTML5中的一个重点,离线缓存就是让用户即使在断网的情况下依然可以正常的运行应用.传统的本地存储数据的方式有 localstorage,sessionsto ...

  3. HTML5本地缓存数据

    //HTML5本地缓存数据 function putObj(key, data) { if (!!window.localStorage) { var obj = { "key": ...

  4. HTML5离线缓存问题

    HTML5离线缓存问题 1.应用程序缓存 什么是应用程序缓存(Application Cache)? HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问. ...

  5. HTML5 Web缓存&运用程序缓存&cookie,session

    在介绍HTML5 web缓存前,来认识一下cookie和session: session: 由于HTTP是无状态的,你是谁?你干了什么?抱歉服务器都是不知道的. 因此session(会话)出现了,它会 ...

  6. HTML5 离线缓存Appcache

    创建一个和html同名的manifest文件,比如页面为index.html,那么可以建一个index.manifest的文件,然后给index.html的html标签添加如下属性即可: <ht ...

  7. html5离线缓存使用

    html5 离线缓存使用以及注意事项 1.index.html中加入离线缓存的声明文件 如:<!DOCTYPE html><html manifest="test.appc ...

  8. 设置清除html5页面缓存

    设置清除html5页面缓存 html5端设置 meta 标签: <meta http-equiv="Pragma" content="no-cache" ...

  9. node.js与HTML5离线缓存

    最近正学到HTML5的离线缓存,却看到需要配置服务器.一下子就懵了,毕竟服务器的有关配置一般是很复杂的,而node.js的服务器是自己的代码生成的,这下要怎么配置?在网上搜索了很久,都没用关于node ...

  10. HTML5离线缓存攻击测试

    本实验采用局域网模拟,通过修改本地HOSTS文件来模拟域名以及DNS欺骗.合法网站使用Linux CentOS7的apache服务器搭建,IP为192.168.1.113,HOSTS文件中加入192. ...

随机推荐

  1. JavaScript与Flash的通信

    当Flash置于HTML容器中时,经常会遇到AS与JS的通信问题,例如:JS能否调用AS中的变量.方法,AS能否调用JS中的变量.方法等等.答案是肯定的.随着技术的不断发展,解决方案也是多种多样的. ...

  2. Android SDK安装时碰到的问题之解决办法

    问题:hostname in certificate didn't match: <dl-ssl.google.com> != <www.google.com> Fetchin ...

  3. Metadata Lock原理4

     http://blog.chinaunix.net/uid-28212952-id-3400571.html    Alibaba  今天发生一个故障,MM复制结构(主备库),备库slave del ...

  4. mysqlpump 原理

    Oracle官方多线程逻辑备份工具 昨天Inside君写到MySQL 5.7.11版本发布,其中最有意义的部分在于官方修复了之前mysqlpump工具一致性备份的问题,使得mysqlpump工具在生产 ...

  5. C专家编程 总结

    1 类型转换 当执行算术运算时,操作数的类型如果不同,就会发生转换,数据类型一般朝着浮点精度高.长度更长的方向转换,整数型如果转换为signed不会丢失信息,就转换为signed,否则转换为unsig ...

  6. mysql索引常见问题

    一:对于先建索引再插入和先插入再统一建索引效率: 对于大数量的表来说, 先加载数据再来定义全文索引的 速度要远远优于在一个已经定义好全文索引的表里面插入大量数据的速度.一定会问:这是问什么呢?其实,道 ...

  7. 支持https请求以及https请求的抓包

    iOS9推出的时候,苹果希望大家使用https协议,来提高数据传输之间的安全性.下面我就从最简单的代码介绍,如何在工程中设置,来支持https的请求. 一.证书准备篇 1.证书转换 在服务器人员,给你 ...

  8. Google镜像站更新地址

    越来越觉得某度的行为无耻无下限,Google镜像站地址,不方便访问Google的可以参考,后面会尽量保持更新可用的镜像库. (收藏地址即可,免得镜像站被封) https://g.jikewenku.c ...

  9. CentOS(八)--crontab命令的使用方法

    crontab命令常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行. 在 ...

  10. LInux下socket编程学习笔记

    1.socket套接字: socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模 ...