美文网首页
Web离线应用以及数据存储

Web离线应用以及数据存储

作者: 胡拉圈 | 来源:发表于2019-03-05 21:38 被阅读0次
Web离线检测

想要进行Web端的离线应用的实现,首先需要对设备目前处于的网络环境进行判断,HTML5为此定义了navigator.onLine属性来检测设备是否处于离线或者联网状态,navigator.onLine属性会返回一个Boolean值。如果是true则表示处于联网状态,如果是false则表示处于离线状态,用户可以通过设定该属性,读取返回值来判断设备目前处于的状态
除了navigator.onLine属性之外,HTML5还定义了online和offline事件来判断设备处于的状态,当网络从离线变为在线时,会触发online事件,当网络从在线变为离线时,会触发offline状态,这两个事件都是定义在window对象中的,所以可以通过window.ononline或window.onoffline来调用(注意:这两个事件目前只有IE8到IE10和firefox3.0+支持)

HTML5离线应用

HTML5离线应用(application cache)简称appcache,是专门为开发Web离线应用而设计的,Appcache就是专门从浏览器的缓存中分出来一块缓存区,如果想要在这个缓存区中保存缓存文件,可以通过使用一个描述文件(manifest file)来罗列出想要缓存的文件或者资源,下面是一个简单的manifest file实例
CACHE MANIFEST
(文件的首行必须为CACHE MANIFEST)

CACHE:
app.js
app.css
bridge_1.jpg

想要将该描述文件添加到页面中进行缓存处理,可以通过在html标签中嵌入的方法
<html manifest="demo.appcache"></html>
这样页面在第二次刷新或者处于离线状态时,就会从该描述文件中读取罗列的文件缓存进行加载

Web存储机制

Web Storage 最早是在Web超文本应用技术工作组的Web应用1.0规范中描述的。这个规范最终成为了HTML5的一部分,通过Web Storage可以克服Cookie带来的一些限制。

使用Cookie

1、使用cookie的时候,浏览器为了确保缓存的数据不会占据太多的磁盘空间以及cookie被恶意利用,所以对于cookie的数量做了限制。
2、在使用cookie存储数据时,很多时候都需要通过服务器端发送带有cookie数据的请求头。
3、利用javascript处理浏览器中存储的cookie值是一件非常麻烦的事情,通过BOM的document.cookie获取的是一个包含所有cookie值的字符串,如果cookie数据过多的话,分割字符串又会是一个附加的工作量。

使用Web Storage

1、可以直接存储在浏览器中,而不需要通过与服务器之间的数据通信来保存数据。
2、能够提供大量的数据存储空间来保存需要存储的数据。
3、Web Storage提供了更加丰富的接口来对存储数据进行操作,使保存的数据能被更加灵活方便的使用。

sessionStorage对象

使用sessionStorage对象存储特定于某个会话的数据,该数据可以保存到浏览器关闭之前,同时通过sessionStorage对象存储的数据可以跨页面刷新进行访问,同时如果浏览器支持,可以在页面崩溃重启之后继续存在(firefox和Webkit内核的浏览器支持,IE不支持)

//使用方法存储数据
   sessionStorage.setItem("name","xiaohong");

//使用属性存储数据
   sessionStorage.name = "xiaohong";

//使用方法读取存储的数据
   let  name_ = sessionStorage.getItem("name");

//使用属性读取存储的数据
   let name_ = sessionStorage.name;

 //使用方法删除一个存储数据
   sessionStorage.removeItem("name");
localStorage对象

localStorage对象在修订过的HTML5规范中作为可以持久保存客户端数据的方案取代了globalStorage对象。通过localStorage对象存储的数据可以持久保存,即使关闭浏览器数据也不会消失。要访问一个localStorage对象,页面之间必须要处于同一个域,同一个端口,同一个协议中。

 //使用方法存储数据
   localStorage.setItem("name","xiaohong");

//使用属性存储数据
   localStorage.name = "xiaohong";

 //使用方法读取存储的数据
   let  name_ =localStorage.getItem("name");

//使用属性读取存储的数据
   let name_ = localStorage.name;

 //使用方法删除一个存储数据
   localStorage.removeItem("name");

相关文章

  • Web离线应用以及数据存储

    Web离线检测 想要进行Web端的离线应用的实现,首先需要对设备目前处于的网络环境进行判断,HTML5为此定义了n...

  • 离线检测

    离线Web应用概念 离线Web应用,就是在设备不能上网的情况下任然可以运行的应用。 开发离线Web应用步骤 首先,...

  • 19|离线应用和客户端存储

    01|离线监测 02|应用缓存 03|数据存储 cookie localStorage sessionStorag...

  • 离线应用与客户端存储(23)

    -进行离线检测-使用离线缓存-在浏览器中保存数据 离线web应用,就是设备在不能上网的情况下仍然可以运行的应用。 ...

  • 面试准备

    1.本地存储 navigator.onLine 判断设备是否能上网 HTML5应用缓存,为离线web应用设计,可以...

  • 离线应用与客户端存储

    本章内容:进行离线检测、使用离线缓存、在浏览器中保存数据‘ 支持离线 Web 应用开发时 HTML5 的另一个重点...

  • IndexedDB

    存储大量结构化数据使用索引来实现对该数据的高性能搜索 为应用创建离线版本

  • 浏览器数据库 IndexedDB

    基于Web的离线缓存indexedDB IndexedDB是一种底层API,用于客户端存储大量结构化数据(包括, ...

  • 二十、离线应用与客户端存储

      支持离线 Web 应用开发是 HTML5 的另一个重点。   所谓离线 Web 应用,就是在设备不能上网的情况...

  • webSQL

    HTML5 Web 存储 HTML5 应用程序缓存HTML5 Web SQL 数据库Web SQL 数据库 API...

网友评论

      本文标题:Web离线应用以及数据存储

      本文链接:https://www.haomeiwen.com/subject/ifeguqtx.html