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();
};

猜你喜欢

转载自blog.csdn.net/pinhmin/article/details/128712998