javascript-离线应用于客户端存储

栏目: Html5 · 发布时间: 5年前

内容简介:含义:设备能否上网代码:注:IE6+和safari+5,firefox3+和opera16+,chrome最新的没问题

23.1 离线检测

含义:设备能否上网

代码:

navigator.onLine

注:IE6+和safari+5,firefox3+和opera16+,chrome最新的没问题

23.2 应用缓存

缓存的目的是专门为网页离线设计的,当然在在线情况也会缓存

机制:当用户在地址输入请求的地址去请求网页时,浏览器会先本地缓存中查看是否有对应的缓存文件,如果有然后查看‘新鲜度’就是是否过期了,如果过期了此时也不会去请求新的资源而是去与服务器端进行校验核对服务器端有没有更新的资源如果有则去请求没有就更新‘新鲜度’, 新鲜度由响应时服务器告诉浏览器或者在返回的html中加meta属性告诉浏览器,不过meta属性通常是针对本地静态文件

(1) 离线缓存方法(我也没实现,想一想都离线了还让用户看啥,毕竟浏览器都有很好的网断界面):

<html manifest="/e.manifest">

23.3 数据存储

(1) Cookie

为什么:cookie的存在让服务器和客户端有了一种通讯方式,因为http是无状态的,可以通过cookie让服务器鉴别当前用户,cookie的值存储在客户端本地(java创建的cookie存在于响应头,而javascript创建的cookie存在于请求头)注:cookie的存取的前提是页面在服务中而不是本地文件

如何做(javascript):赋值:document.cookie = 'name=jiang;expires=Thu, 18 Dec 2043 12:00:00 GMT';读取:document.cookie;cookie没有提供删除的api,销毁的间接方法是重新为对应cookie赋值,并将过期时间设为之前的一个时间,默认是浏览器关闭销毁

限制:cookie在每个域名下的数量是有限制的,各个浏览器限制的数量不一样最少的是20,最多的chrome无限制,cookie的大小限制各个浏览器也不同,基本是4096+-1,也就是一个域名下的cookie大小在这个范围内

**注**:碰到cookie数量的限制问题可以通过‘子cookie’来解决,思路是cookie中键-值中值是另一个键值

(2) Storage类型

为什么:同样是存储,Cookie比Storage出现的早,那么Storage的出现一定是为了弥补Cookie的某些不足了,比如数量和大小的限制

如何做:Storage提供了一些API,clear(),getItem(name),key(index),removeItem(name),setItem(name,value)

1、 sessionStorage对象
特点:声明周期是浏览器关闭前,访问域是最初建立的页面,只存在与服务器上资源本地静态资源不支持,大小限制大部分是2.5M,IE8,opera是5M

2、globalStorage[]对象
特点:跨越回话限制,可以指定访问域和持久存储

示例:
```
globalStorage['wrox.com'].name = 'jiang'; // 指定访问域
```
**注**:指定的域名有同源策略,就是协议和端口要保持一致

3、 localStorage对象
特点:localStorage是globalStorage替代品,localStorage对象不能指定访问域并且有同源策略,大小限制是chrome和safari 是2.5M其它大部分是5M
**注**:更大量的数据可以通过indexDB存储

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C++数据结构与算法

C++数据结构与算法

[美]乔兹德克(Adam Drozdek) / 徐丹、吴伟敏 / 清华大学出版社 / 2014-10-1 / 63.00元

本书全面系统地介绍了数据结构,并以C++语言实现相关的算法。书中主要强调了数据结构和算法之间的联系,使用面向对象的方法介绍数据结构,其内容包括算法的复杂度分析、链表、栈、队列、递归、二叉树、图、排序和散列。书中还清晰地阐述了同类教材中较少提到的内存管理、数据压缩和字符串匹配等主题。书中包含大量的示例分析和图形,便于读者进一步理解和巩固所学的知识。一起来看看 《C++数据结构与算法》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器