您现在的位置是:网站首页> 编程资料编程资料
HTML5 离线应用之打造零请求、无流量网站的解决方法HTML5播放实现rtmp流直播html5用video标签流式加载的实现基于 HTML5 WebGL 实现的医疗物流系统Html5 实现微信分享及自定义内容的流程HTML5 canvas 瀑布流文字效果的示例代码HTML5移动端手机网站开发流程HTML5实现的图片无限加载的瀑布流效果另带边框圆角阴影HTML5梦幻之旅——炫丽的流星雨效果实现过程Html5之webcoekt播放JPEG图片流
2023-10-08
361人已围观
简介 今天Web应用程序已经很复杂了,以现在的发展,会将越来越复杂,但他有一个致命缺点,不能脱离internet链接,因此在HTML中新增了一API,它使用一个本地存储机制很好地解决了这个问题,为离线web应用铺平了道路
前言
今天Web应用程序已经很复杂了,以现在的发展,会将越来越复杂,但他有一个致命缺点,不能脱离internet链接,因此在HTML中新增了一API,
它使用一个本地存储机制很好地解决了这个问题,为离线web应用铺平了道路。
本地缓存于浏览器缓存
本地缓存是为整个web应用程序服务
浏览器缓存只对单个网页服务
任何网页都具有网页缓存
本地缓存只缓存那些你指定缓存的页面
网页缓存不可靠、不安全,因为我们不知道网站中到底缓存了哪些页面、哪些资源
本地缓存可以控制对哪些内容进行缓存
manifest文件
web应用程序本地缓存是通过每个页面的manifest文件来管理的,manifest是一简单文本,在该文件中以清单的形式列举了需要被缓存的不需要被缓存的文件的名字、路径。
可以为每个页面单独指定manifest也可以为整个应用程序指定,例我们为hello.htm的设置:
CACHE MANIFEST
CACHE:
other.html
hellow.js
images/myphoto.jpg
NETWORK:
http://LuLinniu/NotOffline
NotOffline.asp
*
FALLBACK:
online.js locale.js
CACHE:
newhellow.html
newhellow.js
在manifest文件中,第一行必须是CACHE MANIFEST,以把文本的作用告诉浏览器,即对本地缓存中的资源文件进行具体设置。
同时真正运行离线web应用程序时,需要对服务器进行配置,让服务器支持text/cache-manifest这个mime类型。
在指定文件源文件时可以把资源文件分为三类,CACHE、NETWORK、FALLBACK
在CACHE类别中指定需要被缓存在本地的资源文件,为某个页面指定需要本地缓存的资源文件时,不需要把这个页面本身指定在CACHE类别中,
因为如果一个页面具有manifest文件,浏览器会自动对该页面进行本地缓存
NETWORK类别为显式指定不进行缓存的资源文件,这些文件只有建立服务器端链接才能访问,本例使用通配符*表示没有进行记录的都不缓存
FALLBACK类别中的每行中指定两个资源文件,第一个资源文件为能够在线访问时使用的资源文件,第二个为不能在线访问时使用的本地缓存文件
浏览器与服务器交互过程
当使用离线web应用程序进行工作时,有必要了解浏览器与服务器之间的交互过程:
比如一个http://LuLingniu,以index.htm为主页,该主页使用index.manifest,
在文件中缓存index.htm,hello.js,hello.jpg,首次访问时流程如下:
浏览器请求url
服务器返回index.htm首页
浏览器解析index.htm网页,请求页面上所有资源文件
服务器返回资源文件
浏览器处理manifest文件,请求manifest中需要缓存的文件,即使请求过亦会再请求
服务器返回需要缓存的文件
浏览器对本地缓存进行更新,存入资源文件,并触发一个事件通知本地缓存更新
再次打开该URL
请求url
浏览器发现页面被缓存,于是使用本地缓存文件
解析文件
浏览器像服务器请求manifest文件
服务器返回304,通知manifest文件没有变化(若是改变将会有所不同)
applicationCache对象
该对象代表了本地缓存,可以用它来通知用户本地缓存已经被更新,也允许手动更新本地缓存。
前面当浏览器对本地缓存做了更新装入新资源文件时,会触发applicationCache对象的updateready事件,通知本地缓存已被修改,然后提示用户手动刷新页面。
swapCache
swapCache方法用来手动执行本地缓存的更新,它只能在applicationCache对象的updateReady事件触发时调用,
即当资源文件发生改变时,可使用此方法手工缓存更新。
相关内容
- HTML5 本地存储之如果没有数据库究竟会怎样
- HTML5 语义化结构化规范化HTML5语义化元素你真的用对了吗HTML5新特性之语义化标签HTML5中语义化 b 和 i 标签HTML标签语义化(含H5) 详解HTML5常用的语义化标签浅谈HTML的语义化和一些简单优化浅谈语义化的HTML结构到底有什么好处使用语义化标签去写你的HTML 兼容IE6,7,8HTML标签语义化的介绍XHTML标签语义化介绍
- HTML5 与 XHTML2HTML5的文档结构和新增标签完全解析HTML5文档结构标签如何在Dreamweaver cs6 中设置默认文档格式为html5html5 跨文档消息传输示例探讨HTML5之SVG 2D入门8—文档结构及相关元素总结详解HTML编程的标记与文档结构在HTML文档中嵌入CSS的三种常用方式html文档中的 ol 元素的序号数字极限探讨HTML文档类型详解 推荐CSS入门:XHTML文档结构树
- X/HTML5 和 XHTML2html5实现点击弹出图片功能html5 录制mp3音频支持采样率和比特率设置html5表单的required属性使用html5调用摄像头实例代码HTML5页面音频自动播放的实现方式Html5大屏数据可视化开发的实现html实现弹窗的实例HTML5来实现本地文件读取和写入的实现方法HTML 罗盘式时钟的实现HTML5简单实现添加背景音乐的几种方法
- HTML5: Web 标准最巨大的飞跃html5实现点击弹出图片功能html5 录制mp3音频支持采样率和比特率设置html5表单的required属性使用html5调用摄像头实例代码HTML5页面音频自动播放的实现方式Html5大屏数据可视化开发的实现html实现弹窗的实例HTML5来实现本地文件读取和写入的实现方法HTML 罗盘式时钟的实现HTML5简单实现添加背景音乐的几种方法
- 分享一个页面平滑滚动小技巧(推荐)详解三种方式实现平滑滚动页面到顶部的功能css隐藏移动端滚动条并且ios上平滑滚动的方法
- 百万亚瑟王国庆活动 每日登陆奖励一览表_手机游戏_游戏攻略_
- 扩散性百万亚瑟王台服魔装储值活动内容一览_手机游戏_游戏攻略_
- 看图猜成语 几块木头一个箭头指向一艘船 答案是什么成语_手机游戏_游戏攻略_
- 看图猜成语 9999和一个1一个箭头 答案是什么成语_手机游戏_游戏攻略_
