轻松实现localStorage本地存储

相信大家都知道HTML5提供了localStorage和sessionStorage两个新功能,基于这两个功能我们可以实现web资源的离线和会话存储,如果你现在还在用Cookie来临时存储网络资源的话,那就太out了,有这么好的东西放着干吗不用呢?

下面我将通过一个简单的例子来阐述localStorage的用法,实现起来还是相对容易的。例如现在大部分网站都有记录访客第一次访问的信息,如果是第一次访问浏览器在界面上就会弹出一个广告框之类的弹框,之后再访问网站就看不到弹框了,这一效果其实就是用localStorage(之前用Cookie)实现的。

那么现在我们以bootstrap的模态框为例,当用户第一次进入网站的时候弹出模态框,之后就不再弹出,除非用户清除了浏览器的缓存数据。我们的html代码如下:

 1 <div class="modal hide fade" id="demo" data-show="true" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
 2     <div class="modal-dialog">
 3             <div class="modal-content">
 4                 <div class="modal-header">
 5                     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
 6                     <h1 class="modal-title text-center step-show1" id="startModalLabel"><span>弹框demo</span></h1>
 7                 </div>
 8                 <div class="modal-body">
 9                     弹框内容
10                 </div>
11            </div>
12        </div>
13 </div>                                    

好了,我们已经轻松搭建好了一个漂亮的弹窗,默认是隐藏的,现在我们所要做的就是在访客第一次访问的时候显示这个弹窗,接下来我们就来编写JS代码:

首先我们来记录访客第一次访问的信息,如果是第一次访问我们就赋予一个变量值为"1",当访客再次访问的时候浏览器就会去寻找这个变量的值,如果为1则进行某操作,如果不为1则进行另一操作,代码如下:

 1 //本地存储访客是否第一次访问
 2 var strModel="value";     //定义存储对象的属性名
 3 var storeDisplay=function(){
 4     var modelDisplay=1;      //定义存储对象的属性值
 5     //存储,IE6~IE7 cookie 其他浏览器HTML5本地存储
 6     if(window.localStorage) {
 7         localStorage.setItem(strModel,modelDisplay);  //进行本地存储
 8     }
 9     else {
10         Cookie.write(strModel,modelDisplay);   //进行Cookie存储
11     }
12 };

ok,我们的存储代码已经写好了,接下来我们就要来触发它了,调用上述storeDisplay()函数即可,同时因为有些低版本浏览器还不支持localStorage,所以触发之前还要判断下浏览器是否支持localStorage,不支持则使用Cookie存储,实现全兼容。代码如下:

 1 //检测触发是否显示弹窗
 2 var strStoreDate=window.localStorage ? localStorage.getItem(strModel) : Cookie.read(strModel);      //检测浏览器是否支持localStorage
 3
 4 if(strStoreDate!="1"){    //如果属性值不为1则显示弹框
 5      $(‘#demo‘).removeClass("hide");
 6      $(‘#demo‘).modal({
 7              show:true  //显示弹框
 8      });
 9 }
10
11 storeDisplay();  //存储信息,将存储属性设置为"1"

这样一来当访客第一次访问的时候strStoreDate的值其实为‘undefinded‘,不等于‘1‘,所以就会执行if里面的语句显示弹框,然后再将存储属性设置为‘1‘,而当访客第二次访问时属性值已经为‘1‘了就不会执行if里面的语句,弹框还是默认隐藏状态,ok,完成。

通过上述例子我们利用localStorage轻松地实现了一个记录访客是否第一次访问的功能,利用

  localStorage.setItem(strModel,modelDisplay)

  以及

  localStorage.getItem(strModel)

  来设置和获取属性值是最重要的步骤,

同样的,如果我们需要使用sessionStorage来存储访客在当前会话中的信息只需将localStorage替换为sessionStorage即可,这样我们刷新网页的时候信息就不会丢失了。

怎么样,是不是很强大?还没用的童鞋赶紧试试吧!

时间: 2024-07-31 15:57:50

轻松实现localStorage本地存储的相关文章

HTML5 localStorage本地存储实际应用举例

HTML5 localStorage本地存储实际应用举例 by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1952 一.引言 HTML5虽未来到其鼎盛时期,但这并不妨碍我们在实际项目中渐进使用HTML5的一些特性.就我所做的项目而言,应用的HTML5相关特性有:data-自定义属性.placeholder.以及email类型input文本框.上周新上线的会员中心,自己又

localStorage本地存储的简单使用

我们在做页面时会用到本地存储的时候,今天说说localStorage本地存储. 1.localStorage.name="老王";      //第一种设置存储本地数据的方法localStorage 2.localStorage.setItem("color","red");   //第二种设置存储本地数据的方法 3.localStorage.removeItem("name"); //删除本地存储数据 4.localStor

HTML5 LocalStorage 本地存储

LocalStorage 本地存储方法如下: setItem : function(key, value)getItem : function(key)removeItem : function(key)clear : function()length : intkey : function(i)isVirtualObject : true 本地存储K的值时 localStorage.setItem('k','a'); 存储在本地,可以直接调用JSON.stringify()将其转为字符串 fu

LocalStorage本地存储

LocalStorage,即"Web存储",某些浏览器供应商也叫"本地存储"."DOM存储",原本作为HTML5标准的一部分,后来因为某些原因被抽离出来作为单独的WEB应用标准.localStorage提供了一种方式,让Web页面在客户端浏览器中以键值对的形式存储本地字符串数据,无论是用户是离开该站点,刷新,关闭浏览器还是其他操作,存储的数据依然存在. 一.localStorage与cookie localStorage与cookie一样,都是在

HTML5 LocalStorage 本地存储(转)

原文:http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html HTML5 LocalStorage 本地存储 说到本地存储,这玩意真是历尽千辛万苦才走到HTML5这一步,之前的历史大概如下图所示: 最早的Cookies自然是大家都知道,问题主要就是太小,大概也就4KB的样子,而且IE6只支持每个域名20个cookies,太少了.优势就是大家都支持,而且支持得还蛮好.很早以前那些禁用cookies的用户也都慢慢的不存在了

HTML5 localStorage本地存储

介绍 localStorage(本地存储)的使用方式.包括对存储对象的添加.修改.删除.事件触发等操作. 目录 1. 介绍 1.1 说明 1.2 特点 1.3 浏览器最小版本支持 1.4 适合场景 2. 成员 2.1 属性 2.2 方法 2.3 事件 3. 示例 3.1 存储数据 3.2 读取数据 3.3 存储Json对象 1. 介绍 1.1 说明 localStorage 即本地存储,可用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除. 在JavaScript语言中可通过 wi

(转载)HTML5 LocalStorage 本地存储

原文地址:http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html HTML5 LocalStorage 本地存储 说到本地存储,这玩意真是历尽千辛万苦才走到HTML5这一步,之前的历史大概如下图所示: 最早的Cookies自然是大家都知道,问题主要就是太小,大概也就4KB的样子,而且IE6只支持每个域名20个cookies,太少了.优势就是大家都支持,而且支持得还蛮好.很早以前那些禁用cookies的用户也都慢慢的不存

Localstorage本地存储兼容函数

前言HTML5提供了本地存储的API:localstorage对象和sessionStorage对象,实现将数据存储到用户的电脑上.Web存储易于使用.支持大容量(但非无限量)数据同时存储,同时兼容当前所有主流浏览器,但不兼容早期浏览器.存储APIlocalStorage和sessionStorage通常被当做普通的JavaScript对象使用:通过设置属性来存储字符串值,查询该属性来读取该值.除此之外,这两个对象还提供了更加正式的API.调用setItem()方法,将对应的名字和值传递出去,可

localStorage本地存储的用法

localStorage用法 if(window.localStorage){ alert('这个浏览器支持本地存储'); }else{ alert('这个浏览器支持不本地存储'); } localStorage.a=3;//设置a为"3" localStorage["a"]="sfsf";//设置a为"sfsf",覆盖上面的值 localStorage.setItem("b","isaac&qu