HTML5系列之——applicationCache对象
ApplicationCache主要简单介绍:
applicationCache对象实现HTML5相应WEB离线功能。以下我们来主要解说applicationCache对象的一些主要功能和方法
applicationCache对象记录着本地缓存的各种状态及事件。缓存的状态能够通过window.applicationCache.status获得,其状态
主要包含例如以下6种:
<span style="font-family:Microsoft YaHei;font-size:12px;">interface ApplicationCache:EventTarget{
const unsigned short UNCACHED=0;//未缓存
const unsigned short IDLE=1;//空暇状态
const unsigned short CHECKING=2;//检查中
const unsigned short DOWNLOADING=3;//下载中
const unsigned short UPDATEREADY=4;//更新准备中
const unsigned short OBSOLETE =5;//过期状态
readonly attribute unsigned short status;
}</span>
applicationCache缓存对象的事件例如以下表所看到的:
|
事件名称 |
说明 |
|
Checking |
当user agent检查更新时,或者第一次下载manifest清单时,它往往是第一个被触发的事件 |
|
Noupdate |
当检查到Manifest中清单文件不须要更新时,触发该事件 |
|
Downloading |
第一次下载或更新manifest清单文件时,触发该事件 |
|
Progress |
该事件与downloading类似,但downloading事件仅仅触发一次。Progress事件则在清单文件下载过程中周期性触发 |
|
Cached |
当manifest清单文件完成下载及成功缓存后,触发该事件 |
|
Upadateready |
此事件的含义表示缓存清单文件已经完成下载,可通过又一次载入页面读取缓存文件或者通过方法swapCache切换到新的缓存文件。经常使用语本地缓存跟新版本号后的提示 |
|
Obsolete |
增加訪问manifest缓存文件返回HTTP404错误(页面未找到)或者410错误(永久消失)时,触发该事件 |
|
Error |
若要达到触发该事件,须要满足一下几种情况之中的一个: 1、已经触发obsolete事件 2、manifest文件没有改变,但缓存文件里存在文件下载失败 3、获取manifest资源文件时发生致命错误。 4、当更新本地缓存时,manifest文件再次被更改。 |
在实际的应用中,我们能够通过事件监听,并依据当前applicationCache对象的状态处理相关业务。
例如以下代码所看到的:
<span style="font-family:Microsoft YaHei;">applicationCache.addEventListener('updateready',function(){
//资源文件下载中,能够在此部分添加业务功能
});</span>
接下来值得注意的是,在平时的开发过程中,在使用applicationCache本地缓存的同一时候,往往须要推断当前浏览器的状态(在线或离线)。HTML5正好提供了一个属性,用于推断当前浏览器是否在线,代码例如以下:
windowz.navigator.onLine
假设返回ture,则说明当前浏览器online,返回false则说明当前浏览器offline
HTML5系列之——applicationCache对象的更多相关文章
- HTML5之window.applicationCache对象
不知道离线缓存技术的可以参照上一篇文章: HTML5之appcache语法理解/HTML5应用程序缓存/manifest缓存文件官方用法翻译 参考文章 window.applicationCache ...
- applicationCache对象
applicationCache对象代表了本地缓存,可以在js中进行一些操作.可以用它来通知用户本地缓存中已经被更新,也允许用户手工更新本地缓存.applicationCache.addEventLi ...
- HTML5系列三(多媒体播放、本地存储、本地数据库、离线应用)
各浏览器对编码格式的支持情况 audio和video元素的属性介绍 1.src:媒体数据的URL地址 <video src="pr6.mp4"></video&g ...
- HTML5中的Blob对象的使用
HTML5中的Blob对象和MYSQL中的BLOB类型在概念上是有点区别的.MYSQL中的BLOB类型就只是个二进制数据容器.而HTML5中的Blob对象除了存放二进制数据外还可以设置这个数据的MIN ...
- javascript系列之变量对象
原文:javascript系列之变量对象 引言 一般在编程的时候,我们会定义函数和变量来成功的构造我们的系统.但是解析器该如何找到这些数据(函数,变量)呢?当我们引用需要的对象时,又发生了什么了? 很 ...
- lodash用法系列(2),处理对象
Lodash用来操作对象和集合,比Underscore拥有更多的功能和更好的性能. 官网:https://lodash.com/引用:<script src="//cdnjs.clou ...
- ADO.NET系列之Connection对象
ADO.NET系列之Connection对象 ADO.NET系列之Command对象 ADO.NET系列之DataAdapter对象 ADO.NET系列之事务和调用存储过程 ADO.NET概念 ADO ...
- ADO.NET系列之Command对象
ADO.NET系列之Connection对象 ADO.NET系列之Command对象 ADO.NET系列之DataAdapter对象 ADO.NET系列之事务和调用存储过程 上一篇<ADO.NE ...
- ADO.NET系列之DataAdapter对象
ADO.NET系列之Connection对象 ADO.NET系列之Command对象 ADO.NET系列之DataAdapter对象 ADO.NET系列之事务和调用存储过程 我们前两篇文章介绍了ADO ...
随机推荐
- Sed常用实例总结
[Sed简介] sed是一个文件处理工具,本身是一个管道命令,主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等.sed以行为单位,一次处理一行内容,处理时,把当前处理的行存储在临时 ...
- Android开发之大位图二次採样压缩处理(源码分享)
图片有各种形状和大小.在很多情况下这些图片是远远大于我们的用户界面(UI)且占领着极大的内存空间,假设我们不正确位图进行压缩处理,我们的程序会发生内存泄露的错误. MainActivity的代码 pa ...
- poj3278Catch That Cow(BFS)
Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 37094 Accepted: 11466 ...
- U盘只剩下快捷方式
原理: 其实,这个是一种叫1KB病毒(也称之为快捷方式病毒.风暴一号)惹的祸,它是一种恶意的蠕虫病毒,执行以下恶意操作:1.当你的U盘放到一个已经被感染 的主机上时,主机(我的电脑)上的病毒体进程首先 ...
- 自己用h5写的转盘。写贴上来吧。
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- ubuntu 10.04安装qtcreator并汉化
最近最的项目中需要做出来一个带有界面的demo,所以想到了用qt做个简单的demo! 于是在ubuntu上安装了qt,很简单apt-get apt-get install qtcreator 大概几百 ...
- 安装ipvsadm报错
server环境: [vagrant@localhost download]$ uname -a Linux RS1 2.6.18-238.el5 #1 SMP Thu Jan 13 15:51:15 ...
- SetWindowLong
SetWindowLong函数介绍 收藏 SetWindowLong函数介绍 SetWindowLong Unicode 函数原型 LONG SetWindowLong(hwnd,nIndex,lNe ...
- 关于iOS7以后版本号企业公布问题
大家都知道,苹果在公布7.1以后,不打个招呼就把企业公布方式给换掉了(谴责一下~) 曾经普通server+web页面+ipa+plist就能够搞定,如今已经不行了. 关于如今企业公布教程网上贴出来了非 ...
- LinearLayout具体解释二:LinearLayout的创建过程以及状态全程解析
正在撰稿中,请稍等...