资讯专栏INFORMATION COLUMN

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

gecko23 / 1842人阅读

摘要:离线检测含义设备能否上网代码注和,和最新的没问题应用缓存缓存的目的是专门为网页离线设计的,当然在在线情况也会缓存机制当用户在地址输入请求的地址去请求网页时,浏览器会先本地缓存中查看是否有对应的缓存文件,如果有然后查看新鲜度就是是否过期了,如

23.1 离线检测

含义:设备能否上网
代码:

  navigator.onLine

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

23.2 应用缓存

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

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

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


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存储

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/101919.html

相关文章

  • Javascript--离线应用户端储存

    摘要:在这种情况下,浏览器将继续使用原应用缓存。对象对象有一个属性,属性的值是常量,表示应用缓存的状态。兼容性与其他客户端储存方案相比,同样也有限制,这些限制因浏览器围而异。对象主要用于仅针对会话的小段数据的存储。 开发离线Web应用需要几个步骤: 首先确保应用知道设备是否能上网。 应用必须能访问一定的资源(图像,Javascript,CSS),这样才能正常工作。 离线检测 naviga...

    lmxdawn 评论0 收藏0
  • JS学习笔记(第23章)(离线应用户端存储1)

    摘要:应用缓存的应用缓存,或者简称为,是专门为开发离线应用而设计的。应用缓存还有很多相关的事件,表示其状态的改变。数据存储,通常直接叫做,最初是在客户端用于存储会话信息的。也就是使用值来存储多个名称值对儿。 所谓Web离线应用,就是在设备不能上网的情况下仍然可以运行的应用。开发离线Web应用需要几个步骤:(1)确保应用知道设备是否能上网;(2)应用还必须能访问一定的资源(图像、JavaScr...

    fjcgreat 评论0 收藏0
  • JavaScript 离线应用户端存储——“应用缓存”的注意要点

    摘要:在线离线应用缓存就是一个从浏览器的缓存中分出来的缓存去,在缓存中保存数据,可以使用一个描述文件,列出要下载和缓存的资源。 离线检测 HTML5中定义的: navigator.onLine如果为true则表示设备能够上网 注意是大写的L(onLine); 用下面代码检测属性状态: if (navigator.onLine) { // statement if online } e...

    vpants 评论0 收藏0

发表评论

0条评论

gecko23

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<