• 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 即可。

  • 相关阅读:
    微信mac版的bug 直接显示了消息原始数据
    提一下InfoQ
    成长
    SaaS产品成功学
    .io域名在申请SSL证书时被坑
    一件小事
    Git做代码增量发布的重要用法
    今天
    为什么都不写博
    惑不惑
  • 原文地址:https://www.cnblogs.com/lishalom/p/6604395.html
Copyright © 2020-2023  润新知