Cookie 的 增删查

在HTML5中,本地存储是一个window的属性,包括localStorage和sessionStorage,从名字应该可以很清楚的辨认二者的区别,前者是一直存在本地的,后者只是伴随着session,窗口一旦关闭就没了。二者用法完全相同,这里以localStorage为例。

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

 

而读取、写、删除操作方法有很多方法,也很简单,但长用getItem()和setItem(),清除键值对使用removeItem()。如果希望一次性清除所有的键值对,可以使用clear()。

1 localStorage.setItem("user","abcd");
2 localStorage.setItem("user1","abcd1");
3 localStorage.removeItem("user");

 

 

cookie 是存储于访问者的计算机中的变量,用来存放一些数据。在我们浏览页面时,经常会填写自己的名字等,这些会被存放于cookie中。

学习cookie主要有3个函数,包括创建cookie,获取cookie中的值,删除cookie。

创建cookie:

1 function setcookie(name,value,iday){
2 
3   var odate=new Date();
4 
5   odate.setDate(odate.getDate()+iday);
6 
7   document.cookie=name+"="+value+";expires="+odate;
8 
9 }

 

获取cookie:

 1 function setcookie(name){
 2 
 3   var cookies=document.cookie;
 4 
 5   var arr1=cookies.split("; ");
 6 
 7   for (i=0;i<arr1.length;i++){
 8 
 9     var arr2=arr1[i].split("=")
10 
11     if(name==arr2[0]){
12 
13       return arr2[1];
14 
15     }
16 
17   }
18 
19   return false;
20 
21 }

 

删除cookie:

1 function removecookie(name){
2 
3   setcookie(name,"","-1")  //通过建立cookie的时间设置,将时间设置为提前一天;
4 
5 }

 

 

一个轻量级的cookie 插件,可以读取、写入、删除 cookie。 

jquery.cookie.js 的配置 

首先包含jQuery的库文件,在后面包含 jquery.cookie.js 的库文件。 

<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script> 

<script type="text/javascript" src="js/jquery.cookie.js"></script> 

使用方法 

1.新添加一个会话 cookie: 

$.cookie('the_cookie', 'the_value'); 

注:当没有指明 cookie有效时间时,所创建的cookie有效期默认到用户关闭浏览器为止,所以被称为 

“会话cookie(session cookie)”。 

2.创建一个cookie并设置有效时间为 7天: 

$.cookie('the_cookie', 'the_value', { expires: 7 }); 

注:当指明了cookie有效时间时,所创建的cookie被称为“持久 cookie (persistent cookie)”。 

3.创建一个cookie并设置 cookie的有效路径: 

$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' }); 

注:在默认情况下,只有设置 cookie的网页才能读取该 cookie。如果想让一个页面读取另一个页面设 

置的cookie,必须设置cookie的路径。cookie的路径用于设置能够读取 cookie的顶级目录。将这 

个路径设置为网站的根目录,可以让所有网页都能互相读取 cookie (一般不要这样设置,防止出现冲突) 。 

4.读取cookie: 

$.cookie('the_cookie'); // cookie存在 => 'the_value' 

$.cookie('not_existing'); // cookie不存在 => null 

5.删除cookie,通过传递null作为cookie的值即可: 

$.cookie('the_cookie', null); 

----------相关参数的解释--------------- 

1).expires: 365 

定义cookie的有效时间,值可以是一个数字(从创建cookie时算起,以天为单位)或一个Date 对 

象。如果省略,那么创建的cookie是会话cookie,将在用户退出浏览器时被删除。 

2).path: '/' 

默认情况:只有设置cookie的网页才能读取该cookie。 

定义cookie的有效路径。默认情况下, 该参数的值为创建 cookie 的网页所在路径(标准浏览器的行为) 。 

如果你想在整个网站中访问这个cookie需要这样设置有效路径:path: '/'。如果你想删除一个定义 

了有效路径的 cookie,你需要在调用函数时包含这个路径:$.cookie('the_cookie', null, 

{ path: '/' });。 domain: 'example.com' 

默认值:创建 cookie的网页所拥有的域名。 

3).secure: true 

默认值:false。如果为true,cookie的传输需要使用安全协议(HTTPS)。 

4).raw: true 

默认值:false。 

默认情况下,读取和写入 cookie 的时候自动进行编码和解码(使用encodeURIComponent 编码, 

decodeURIComponent 解码)。要关闭这个功能设置 raw: true 即可。

posted @ 2017-03-23 12:01  三尺微命---  阅读(216)  评论(0编辑  收藏  举报