HTML5API___manifest
离线缓存 manifest
在html标签里面增加个属性 mainfest 就可以告诉浏览器缓存文件在哪里。
<html manifest='show.manifest' xmlns="http://www.w3.org/1999/xhtml">
show.manifest文件内容
CACHE MANIFEST # VERSION 0.3 # 直接缓存的文件
CACHE:
index.html files/hammer.min.js
files/base.css files/cover_1.jpg
files/cover_2.jpg
files/cover_3.jpg
files/cover_4.jpg
files/top.png
files/btn.png
files/btn_active.png
files/bg.png
缓存内容中有 这个html文件本身 所需要的图片 、js、css等
如果页面中有资源进行了更新,一定要更新缓存文件,才能使浏览器读取新的网页。
Cache-manifest语法规则:
字符编码使用UTF-8
第一行必须是'CACHE MANIFEST'
以“#”开头的注释
URL必须与主页面同源
MIME类型 text/cache-manifest
CACHE/ FALLBACK /NETWORK 每2个标志之间都属于一个段落
CACHE段落下 1行记录一个缓存资源文件
FALLBACK用于指定URL不能访问时的替代资源
NETWORK段落不进行缓存,必须指定网络访问URL。访问其它主机资源的时候可以在这里制定
FALLBACK: online / missing.html
上面的意为: 当url 以online/ 开头的资源不能访问时 显示 missing.html
通过JS 操作缓存
applicationCache
- oncached: null
- onchecking: null
- ondownloading: null
- onerror: null
- onnoupdate: null
- onobsolete: null
- onprogress: null
- onupdateready: null
- status: 0
以上是 applicationCache的一些方法
onchecking // Checking 事件 第一次下载manifest文件的时候会出现 onnoupdate //Noupdate 检测到 不需要更新manifest的时候 触发该事件 onprogress //Progress 在manifest下载过程中周期性触发 oncached //Cached 缓存文件下载完毕 成功缓存以后 触发该事件 onupdateready //updateready 缓存更新成功事件 onobsolete //Obsolete 404 与410错误 触发改事件 onerror //Error obsolete 、manifest存在的文件下载失败、获取manifest文件时发生错误、更新缓存文件时 manifest再次被更改
status;
//缓存状态
/*
* 0 未缓存
* 1 空闲状态
* 2 检查中
* 3 下载中
* 4 更新准备中
* 5 过期状态
* */
/*
* 在使用离线缓存的时候 先判断浏览器是否在线
* */
if(window.navigator.onLine){
//在线
} else {
//离线
}
HTML5API___manifest的更多相关文章
- HTML5之window.applicationCache对象
不知道离线缓存技术的可以参照上一篇文章: HTML5之appcache语法理解/HTML5应用程序缓存/manifest缓存文件官方用法翻译 参考文章 window.applicationCache ...
随机推荐
- GetMemory()函数
NO1 void GetMemory(char *p) { p=(char *)malloc(100); } void Test() { char * str=NULL; GetMemory(str) ...
- 【Chromium中文文档】多进程资源加载
多进程资源加载(需要更新) 转载请注明出处:https://ahangchen.gitbooks.io/chromium_doc_zh/content/zh//General_Architecture ...
- ThinkPHP中 按条件查询后列表显示
最近在项目中遇到了需要根据下拉框的条件筛选出符合条件的数据,然后进行列表显示的问题. 在ThinkPHP中进行列表显示的传统过程:通过在后台控制器中查询出数据,然后通过$this->assign ...
- TFS Build Definition
1. TFS Build 简介 在团队项目开发中,编译常常是一个很困难的事情! 可能你会反问编译有什么难的?不就是右键,然后点击 Build/Rebuild, 或者直接按 F5 么?这都不会,真不知 ...
- 如何使用win7自带的备份还原以及创建系统镜像------傻瓜式教程
对于经常鼓捣电脑的童鞋来说,装系统是一件极其平常的事情,不过系统装多了之后,我们会感到比较烦躁,因为每一次装系统意味着驱动的重新安装,程序的重新安装,每次这么鼓捣几次,半天时间就花在这上面了,效率是在 ...
- IE添加信任站点并设置允许ActiveX控件的VBS脚本
Set objFSO = CreateObject("Scripting.FileSystemObject") Set WSHShell = CreateObject(" ...
- poj1580---欧几里得算法(辗转相除法)
#include<stdio.h> #include<string.h> #include<string.h> ],str2[]; int len; int cal ...
- 如何在XML 加入特殊字符内容 如< >
XML 文件本身包含了一些预定义的保留字符 如< 标记元素的开始符号等 如果要在属性或者元素的值里面包含类似的这些特殊字符 应该如何处理呢 ? 这时候要用到 <![CDATA[] 这个标 ...
- 删除select中所有option选项
这样写 <select id="search"> <option>baidu</option> <option>sogou</ ...
- 剑指offer26 复杂链表的复制
/* struct RandomListNode { int label; struct RandomListNode *next, *random; RandomListNode(int x) : ...