HTML5之缓存
----- 缓存文件
- 使用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之缓存的更多相关文章
- HTML5离线缓存(Application Cache)
HTML5离线缓存又名Application Cache,是从浏览器的缓存中分出来的一块缓存区,要想在这个缓存中保存数据,可以使用一个描述文件(manifest file),列出要下载和缓存的资源. ...
- HTML5 离线缓存管理库
一.HTML5离线缓存技术 支持离线缓存是HTML5中的一个重点,离线缓存就是让用户即使在断网的情况下依然可以正常的运行应用.传统的本地存储数据的方式有 localstorage,sessionsto ...
- HTML5本地缓存数据
//HTML5本地缓存数据 function putObj(key, data) { if (!!window.localStorage) { var obj = { "key": ...
- HTML5离线缓存问题
HTML5离线缓存问题 1.应用程序缓存 什么是应用程序缓存(Application Cache)? HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问. ...
- HTML5 Web缓存&运用程序缓存&cookie,session
在介绍HTML5 web缓存前,来认识一下cookie和session: session: 由于HTTP是无状态的,你是谁?你干了什么?抱歉服务器都是不知道的. 因此session(会话)出现了,它会 ...
- HTML5 离线缓存Appcache
创建一个和html同名的manifest文件,比如页面为index.html,那么可以建一个index.manifest的文件,然后给index.html的html标签添加如下属性即可: <ht ...
- html5离线缓存使用
html5 离线缓存使用以及注意事项 1.index.html中加入离线缓存的声明文件 如:<!DOCTYPE html><html manifest="test.appc ...
- 设置清除html5页面缓存
设置清除html5页面缓存 html5端设置 meta 标签: <meta http-equiv="Pragma" content="no-cache" ...
- node.js与HTML5离线缓存
最近正学到HTML5的离线缓存,却看到需要配置服务器.一下子就懵了,毕竟服务器的有关配置一般是很复杂的,而node.js的服务器是自己的代码生成的,这下要怎么配置?在网上搜索了很久,都没用关于node ...
- HTML5离线缓存攻击测试
本实验采用局域网模拟,通过修改本地HOSTS文件来模拟域名以及DNS欺骗.合法网站使用Linux CentOS7的apache服务器搭建,IP为192.168.1.113,HOSTS文件中加入192. ...
随机推荐
- [ES6] 17. Set
Es6 provides "Set", it likes array but the data inside should be unqiue. "Set" i ...
- 【读jQuery源码有感系列一】callee
<script type="text/javascript"> /*调用自身*/ function calleeDemo() { try{ } catch (error ...
- php 下载远程图片 的几种方法(转)
1.获取远程文件大小及信息的函数 function getFileSize($url){ $url = parse_url($url); if($fp = @fso ...
- Linux下的简单好用的计算器bc
1. 关于bc bc是随意精度计算器语言,通常在linux下当计算器用,简单好用.相当于windows下的计算器. 2. 支持的运算符 主要的数学运算: + 加法 - 减法 * 乘法 / 除法 ^ 指 ...
- MySQL ddl丢表
MySQL ddl丢表: MySQL server层为了和innodb层保持数据一致性,在写binlog和redo log时,引入了两阶段提交,但不同的变更产生的日志并非都使用这种策略. 下面就来 ...
- TCP/IP协议知识科普
简介 本文主要介绍了工作中常用的TCP/IP对应协议栈相关基础知识,科普文. 本博客所有文章:http://www.cnblogs.com/xuanku/p/index.html TCP/IP网络协议 ...
- UNIX基础知识之程序和进程
一.程序 程序(program)是存放在磁盘上.处于某个目录中的一个可执行文件.使用6个exec函数中的一个由内核将程序读入存储器,并使其执行. 二.进程和进程ID 程序的执行实例被称为进程(proc ...
- 使用 T4 文本模板生成设计时代码
使用设计时 T4 文本模板,您可以在 Visual Studio 项目中生成程序代码和其他文件. 通常,您编写一些模板,以便它们根据来自模型的数据来改变所生成的代码. 模型是包含有关应用程序要求的 ...
- Qt之遍历文件夹
关于Qt操作文件夹.文件的知识用途较多,比如遍历下一层乃至所有子孙文件.文件夹,获取它们的一些信息(大小.类型.最后更改时间等).当然,也可以进行级联删除. 首先看简单的: 一.Qt遍历文 ...
- iOS语音合成
苹果公司在iOS7中推出了语音合成的技术,无需网络环境也可以实现语音合成. iOS7语音合成的主要的API如下: 1.AVSpeechUtterance,是语音合成的基本单位,它封装影响语音合成的需要 ...