cookies与storage的区别

  1. 存储空间的区别

cookies的数据大小不超过4KB

storage因为子域存储空间独立,存储大小更大,可以达到5MB

  1. 与服务器之间的交互

cookies首次从服务器发送到客户端后,当页面每一次访问都会cookies伴随着url一同发送到服务器

storage不会把数据发给服务器,只存在本地

  1. API区别

cookies需要自己封装,毕竟这个4KB大小也不能要求还提供什么接口

storage提供比较丰富的接口,使用较为方便

如何在Vue中设置cookies和storage

设置cookies

Vue.prototype.Setcookie = function (name,value) {
  //设置名称为name,值为value的Cookie
  var expdate = new Date();   //初始化时间
  expdate.setTime(expdate.getTime() + 30 * 60 * 1000);   //时间单位毫秒
  document.cookie = name + "=" + escape(value) + ";expires=" + expdate.toGMTString() + ";path=/";
  //即document.cookie= name+"="+value+";path=/";  时间默认为当前会话可以不要,但路径要填写,因为JS的默认路径是当前页,如果不填,此cookie只在当前页面生效!
}

获取cookies

Vue.prototype.getcookie = function (a){
  // console.log(a)
  var d;
  var b = document.cookie;
  // console.log(b)
  var c = b.split(";");
  for (let e = 0; e < c.length; e++) {
    var f = c[e].split("=");
    if (a == f[0].toString().trim()) {
      d = f[1];
      break;
    }
  } if (void 0 == d || null == d) {
    return "";
  }
  else {
    var g = unescape(d.trim());
    return g;
  }
}

删除cookies

Vue.prototype.delCookie= function (a){
  var b = new Date(0).toGMTString();
  document.cookie = a + "=;expires=" + b + ";path=/";
}

storage分为localStorage和sessionStorage,两者用法基本相同,sessionStorage为页面关闭后清除缓存

设置localStorage

export function setLocalStorage(name,text) {
    // name为缓存的key值,text为缓存的value值,如果存入的值为对象,可以使用JSON.stringify(text),换成对象存入缓存
    localStorage.setItem(`${name}`, text)
}

获取localStorage

export function getLocalStorage(name) {
    // 获取name代表的缓存的key值
    let name = localStorage.getItem(`${name}`)
    return name
}

移除localStorage

export function removeLocalStorage(name) {
    localStorage.removeItem(`${name}`)
}

设置sessionStorage

export function setSessionStorage (name, text) {
    sessionStorage.setItem(`${name}`, text)
}

获取sessionStorage

export function getSessionStorage (name) {
    let name = sessionStorage.getItem(`${name}`)
    return name
}

移除sessionStorage

export function removeSessionStorage (name) {
    sessionStorage.removeItem(`${name}`)
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值