js 使用cookie存储文本信息-中文经过转码解码

JavaScript是运行在客户端的脚本,cookie是运行在客户端的,所以可以用Cookie 在网页中存储用户信息。

什么是 cookie?

Cookie 是在您的计算机上存储在小的文本文件中的数据。

当 web 服务器向浏览器发送网页后,连接被关闭,服务器会忘记用户的一切。

Cookie 是为了解决“如何记住用户信息”而发明的:

  • 当用户访问网页时,他的名字可以存储在 cookie 中。

  • 下次用户访问该页面时,cookie 会“记住”他的名字。

比如:定义了一个全局变量temp,A页面存储用户信息名称userName,在A页面的时候已经把用户信息名称userName赋值给变量temp,在打开B页面的时候,变量temp,就会重新载入,没有达到存储的效果,这个时候就采用cookie来保存该变量的值。

cookie存储大小限制说明:
  • 只能存储文本。

  • 单条大小不能超过4kb

  • 存储条数一般不超过50条。

  • 不可跨域读取。

  • 每个cookie都有时效,最短的有效期是会话级别(即浏览器关闭时cookie便销毁)。

cookie读取,删除,设置:

cookie设置:

cname:设置cookie名称,cvalue:设置变量要存储的值,exdays:设置存储日期

使用示例:setCookie('XXX_userName',userName,7),设置存储用户名称userName,存储有效期为7天。


function setCookie(cname, cvalue, exdays) {
  var d = new Date();
  d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
  var expires = "expires=" + d.toGMTString();
  document.cookie = cname + "=" + encodeURIComponent(cvalue) + "; " + expires;
};

cookie读取:

使用示例:getCookie('XXX_userName'),读取XXX_userName,存储的值。


function getCookie(cname) {
  var name = cname + "=";
  var ca = document.cookie.split(';');
  for (var i = 0; i < ca.length; i++) {
    var c = ca[i].trim();
    if (c.indexOf(name) == 0) return decodeURIComponent(c.substring(name.length, c.length));
  }
  return "";
};

cookie删除:

使用示例:deleteCookie('XXX_userName') ,删除XXX_userName变量所存储的值。


function deleteCookie(name) {
  var exp = new Date();
  exp.setTime(exp.getTime() - 1);
  var cval = getCookie(name);
  if (cval != null)
    document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
};
//直接设置过期日期
function deleteCookie2(name){
var value = getCookie(key);
    setCookie(key, value, -1);
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值