`
xphwv
  • 浏览: 45335 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

本地存储—localStorage(转)

 
阅读更多

先简单说下阐述下:localStorage    规范:http://dev.w3.org/html5/webstorage/

localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。但是如果你找到浏览器的隐私或者本地存储的数据删除也是一样可以删除的!我找了下Safari浏览器如下图:


存储空间较大:IE8下每个独立的存储空间为10M,其他浏览器实现略有不同,但都比Cookie要大很多很多。本地存储不发生服务器,是离线保存在你浏览器本地的!不会与服务器发生任何交互。本地存储数据库在同样域名下的网页间是共享的,即便是在多个浏览器标签页中。我在做产品购物车的时间使用到了,这边选择产品,把产品属性拼接成JSON字符串保存到localStorage中,然后到购物车中去取……

独立的存储空间:每个域(包括子域)有独立的存储空间,各个存储空间是完全独立的,因此不会造成数据混乱。当把当前网页或者浏览器关掉并再进入时,localStorage中的数据还是存在的。那么,这个数据是存在什么地方的呢?查找后发现对于Chrome Browser, 其缺省存在以下地址:C:/Documents and Settings/UserName/Local Settings/Application Data/Google/Chrome/User Data/Default/Local Storage

支持浏览器也相当广泛!几乎支持html5的都支持。包括移动……下图不完整(WPX也是支持的)


判断浏览器是否支持本地存储:

一:

1 if(window.localStorage){
2  alert('This browser supports localStorage');
3 }else{
4  alert('This browser does NOT support localStorage');
5 }

 

localStorage的用法极其简单!(Map格式(键-值))一共就这么多……

localStorage. length;    返回现在已经存储的变量数目
localStorage. key(n);    返回第n个变量的键值(key)
localStorage.getItem(key);      和localStorage.key一样,取得键值为key的变量的值
localStorage.setItem(key, val);     和localStorage.key = val一样,设置键值key的变量值
localStorage.removeItem(key);     删除键值为key的变量
localStorage.clear();   清空所有变量

用法很多,可以当成是一个对象方式使用……

localStorage.a = 1;      //设置a为"1"
localStorage["a"] = "FakeMr";      //设置a为"FakeMr",自动覆盖上面的值

需要注意的是,HTML5本地存储只能存字符串,任何格式存储的时候都会被自动转为字符串,所以读取的时候,需要自己进行类型的转换。(个人比较喜欢:JSON.parse/JSON.stringify结合使用 

拓展:IE6/7解决方案(网上搜的)

01 if(!window.localStorage && /MSIE/.test(navigator.userAgent)){  
02     if(!window.UserData) {  
03         window.UserData = function(file_name) {  
04             if(!file_name) file_name="user_data_default";  
05             var dom = document.createElement('input');  
06             dom.type = "hidden";  
07             dom.addBehavior ("#default#userData");  
08             document.body.appendChild(dom);  
09             dom.save(file_name);  
10             this.file_name = file_name;  
11             this.dom = dom;  
12             return this;  
13         };  
14         window.UserData.prototype = {  
15             setItem:function(k, v) {  
16                 this.dom.setAttribute(k,v);  
17                 this.dom.save(this.file_name);  
18             },  
19             getItem:function(k){  
20                 this.dom.load(this.file_name);  
21                 return this.dom.getAttribute(k);  
22             },  
23             removeItem:function(k){  
24                 this.dom.removeAttribute(k);  
25                 this.dom.save(this.file_name);  
26             },  
27             clear:function() {  
28                this.dom.load(this.file_name);  
29                var now = new Date();  
30                now = new Date(now.getTime()-1);  
31                this.dom.expires = now.toUTCString();  
32                this.dom.save(this.file_name);  
33             }  
34         };  
35     }  
36     window.localStorage = new window.UserData("local_storage");  
37 }

PS:不支持原生 localStorage所有方法,只支持4种扩展出来的自定义方法……当然你还可以多多扩展(多多益善嘛!!)

                                                                                               

分享到:
评论

相关推荐

    storejs本地存储localstorage的封装提供简单的API没有依赖

    "storejs本地存储localstorage的封装提供简单的API没有依赖" 这个标题告诉我们,storejs是一个专门针对浏览器本地存储机制——localStorage的轻量级库。它通过封装localStorage,为开发者提供了更易用的API接口,...

    支持设置过期时间的本地存储localstorage

    标题“支持设置过期时间的本地存储localStorage”指出了一种改进的本地存储方法,即在使用`localStorage`时加入过期时间的概念。这将帮助我们更好地控制存储在客户端的数据,避免因数据过期而引发的问题,同时减少...

    HTML5 本地存储 LocalStorage详解

    HTML5的本地存储机制,尤其是LocalStorage,是现代Web开发中不可或缺的一部分,它允许开发者在用户的浏览器上持久化地存储数据,而无需借助于Cookie或Flash等传统方式。LocalStorage的引入,解决了早期存储技术如...

    本地存储localStorage用法详解

    本地存储localStorage用法详解 本地存储localStorage是一种在HTML5中引入的新特性,主要用来解决cookie存储空间不足的问题。localStorage可以将数据存储在客户端,解决了cookie的4K限制问题,且可以将第一次请求的...

    store:本地存储实现,优先本地存储localStorage,如果浏览器不支持,优雅降级为cookie

    本文将深入探讨“store”这个本地存储实现,以及如何在浏览器不支持localStorage时优雅地降级到使用cookie。 首先,`localStorage`是HTML5引入的一种本地存储机制,它允许Web应用在用户的浏览器上存储大量数据...

    HTML5 LocalStorage 本地存储刷新值还在

    1. localStorage是本地存储,存储期限不限; 2. sessionStorage会话存储,页面关闭数据就会丢失。 使用方法: localStorage.setItem(“key”,“value”)//存储 localStorage.getItem(key)//按key进行取值 ...

    localstorage本地存储工具

    提供get,set,del方法,快捷在本地存储数据,所有浏览器通用(不支持localstorage的,使用cookie保存)

    基于jQuery的localStorage购物车.zip

    这个系统是基于jQuery 3.4.1版本构建的,旨在帮助用户在本地存储商品选择,即使页面刷新或关闭,购物车中的商品也不会丢失。以下是关于这个项目的详细知识点: 1. **jQuery**:jQuery是一个流行的JavaScript库,它...

    一个本地存储工具控制localStorage和sessionStorage

    本文将详细讲解这个名为“本地存储工具”的项目,它提供了一个统一的API来管理和操作`localStorage`和`sessionStorage`。 首先,`localStorage`和`sessionStorage`的主要区别在于数据的生命周期和作用域。`...

    JS实现本地存储信息的方法(基于localStorage与userData)

    总之,`localStorage`和`userData`是JavaScript实现本地存储的两种方式,它们各有优缺点。随着现代浏览器的普及,`localStorage`已经成为更常用的选择,但对于需要兼容旧版IE的场景,`userData`仍然是一个备选方案。...

    vue使用二次封装存储localStorage

    在Vue.js开发中,我们经常需要与浏览器的本地存储机制如localStorage进行交互,用于保存用户数据或应用状态。为了提高代码的可维护性和复用性,开发者会进行二次封装,创建一个专门处理localStorage操作的工具模块。...

    JS+HTML5本地存储Localstorage实现注册登录及验证功能示例

    在本文中,我们将深入探讨如何使用JavaScript(JS)与HTML5的本地存储机制Localstorage来实现用户注册和登录的功能,并进行基本的验证。Localstorage是Web应用存储数据的一种方法,它允许开发者在浏览器中持久化地...

    Vue2.0 V1.1版本 增删改查功能,全选单选与取消全选选项,使用localStorage本地存储数据和watch深度监听

    Vue2.0 V1.0的增删改查功 全选单选与取消全选选项, 使用了localStorage本地存储数据和watch深度监听数据选项变化。TodoList完善版。 用于学习的小Demo. TodoList 传值学习,父传子 子传孙 子传父 传值等学习,全选...

    HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等

    HTML5 的本地存储 API 中的 localStorage 与 sessionStorage 在使用方法上是相同的,区别在于 sessionStorage 在关闭页面后即被清空,而 localStorage 则会一直保存。我们这里以 localStorage 为例,简要介绍下 ...

Global site tag (gtag.js) - Google Analytics