jquery对浏览器本地存储操作(cookie,localStorage和sessionStorage)

cookie,localStorage和sessionStorage都是浏览器本地存储数据的地方,其用法不尽相同;总结一下基本的用法。

一、cookie

  1. 定义:

    • 存储在本地,容量最大4k,在同源的http请求时携带传递,损耗带宽;
    • 可设置访问路径,只有此路径及此路径的子路径才能访问此cookie,存在有效的时间。
  2. 注意点

    • cookie的访问需要服务器环境,直接在本地文件访问无效;
    • cookie的访问和设置需要导入jquery.cookie.js文件;
    • 浏览器对每一个访问的地址下可添加的cookie是有限制的;同时每个浏览器可添加的cookie个数也存在限制。
  3. 作用:

    • 储存用户的痕迹信息,如用户名,ID号,密码等,是服务器脚本发送给浏览器的加密数据,便于下次访问时用户可以直接登录等;
  4. 下载cookie

        最新维护中的Github:https://github.com/js-cookie/js-cookie

jquery对浏览器本地存储操作(cookie,localStorage和sessionStorage)_第1张图片

       

5.运用代码


 // 设置cookie 过期时间为7天,存放在当前路径下
 Cookies.set('cookieKey', 'cookieValue', { expires: 7, path: '' });


  //获取cookie
  Cookies.get('cookieKey')

 
// 删除cookie,expires:0 代表删除当前cookie
//Cookies.set('cookieKey', 'cookieValue', { expires: 0, path: '' });
// 删除cookie,当设置cookie时有path属性时,删除也必须带上,否则删除失败
Cookies.remove('cookieKey',{path:''});

说明:

  1. 'cookieKey'参数相当于cookie存储数据的键,即数据的名字,通过名字访问;
  2. cookie的设置有三个参数,第一为设置数据的键,第二个为设置数据的值,expires表示有效时间,单位为天,path为访问路径,"/"表示当前文件路径,在网站中表示根目录。

注意:如果不设置路径,默认情况下只有设置cookie的网页才可以访问此cookie;如果想网站的网页可以共享cookie,将路径设为根目录。

注意:cookie就相当于一个能存储数据的微型本地数据库,"cookieKey"相当于每条数据的key。

二、localStorage

  1. 定义:一个本地的小型数据文件

    • 存储在本地,容量为5M或者更大,不会在请求时候携带传递;
    • 数据在所有同源窗口中共享,一直有效,除非人为删除,可作为长期数据。
  2. 注意点:

    • localStorage数据不需要依赖服务器环境访问,可以直接在本地文件访问;
    • 不需要额外的文件支持。
    • 同源窗口指的是同一个域名下或者是index.html所在的文件夹下的文件路径。
  3. 代码运用

//设置:
localStorage.setItem("mycolor", "456");
localStorage.mycolor= '456';

//获取:
var color = localStorage.getItem("mycolor");
var color = localStorage.mycolor

var color = localStorage.key(0);//获取第一个键,按角标获取
var color = localStorage.key("");//获取最后一个键

var $length = localStorage.length;//获取数据的长度

//删除
localStorage.removeItem("mycolor");

//清空
localStorage.clear();//将所有保存的数据删除

说明:

  1. 设置数据格式类似键值对,"mycolor"代表key,"456"代表值。
  2. 数据是有排序的,后加入的角标靠前,最后加入的角标为0.

注意:localStorage相当于将数据保存在磁盘,是永久的,但是其针对的是固定的域名下的文件,打开其他的域名下的网页,localStorage不会显示。

三、sessionStorage

  1. 定义:一个本地的小型数据库

    • 存储在本地,容量为5M或者更大;
    • 不会在请求时候携带传递,在同源的当前窗口关闭前有效。
  2. 注意点:

    • sessionStorage同样不需要再服务器的环境下运行;
    • 不需要额外的文件支持;
    • sessionStorage数据设置后即使页面进行重载也不会清除;但当该窗口关闭后,里面的数据就会清除,再打开没有数据。相当于将数据保存在内存中
  3. 代码运用

//设置:
sessionStorage.setItem("mycolor", "456");
sessionStorage.mycolor= '456';

//获取:
var color = sessionStorage.getItem("mycolor");
var color = sessionStorage.mycolor

var color = sessionStorage.key(0);//获取第一个键,按角标获取
var color = sessionStorage.key("");//获取最后一个键

var$length = sessionStorage.length;//获取数据的长度

//删除
sessionStorage.removeItem("mycolor");

//清空
sessionStorage.clear();//将所有保存的数据删除

说明:

  1. sessionStorage的使用方法和localStorage一样。
  2. 数据是有排序的,后加入的角标靠前,最后加入的角标为0.

你可能感兴趣的:(jquery,前端,javascript)