【译文】什么是JavaScript Cookies

JavaScript Cookies?

Cookies是某种形式的数据,它存储在你的计算机里面的小文本文件中。网页浏览器和服务器通过HTTP协议交通,HTTP是非状态性协议。当网页服务器发送一个页面到一个浏览器,连接就中断了,并且服务器会丢掉关于用户的每一个信息。对于一个商业网站,需要在不同网页之间维护对话session 信息。目的是记录用户的信息,这就使用了cookies技术。

Cookies以名称值对的形式存在计算机中。

username = Bill Gates

JavaScript使用“document.cookie” 属性创建,删除和读取cookies,但是这个对象提供的接口太原始了。

创建Cookie

document.cookie = "username=Bill Gates";

添加失效日期(UTC格式)

document.cookie = "username=Bill Gates; expires=Fri, 20 Dec 2014 12:00:00 UTC";

你可以用一个路径参数,告诉浏览器cookie的归属路径。缺省状态,cookie属于当前路径。

document.cookie = "username=Bill Gates; expires=Fri, 20 Dec 2014 12:00:00 UTC; path=/";

读取Cookie

var ck = document.cookie;

修改Cookie

JavaScript修改Cookie和创建它们是一样的。老的cookie值就被删除了

document.cookie = "username=Bill Gates; expires=Fri, 20 Dec 2022 12:00:00 UTC; path=/";

删除Cookie

document.cookie = "username=; expires=Fri, 20 Dec 2014 12:00:00 UTC; path=/;";

获得,设置和删除Cookie的JavaScript函数。

设置Cookie

function setCookie(cookName, cookValue, expiry) {
  var dt = new Date();
  dt.setTime(dt.getTime() + (expiry*24*60*60*1000));
  var expires = "expires="+ dt.toUTCString();
  document.cookie = cookName + "=" + cookValue + ";" + expiry + ";path=/";
}

获得Cookie

  function getCookie(cookName) {
    var cname = cookName + "=";
    var deCookie = decodeURIComponent(document.cookie);
    var cookArray = decodedCookie.split(';');
    for(var i = 0; i <cookArray.length; i++) {
      var c = cookArray;
      while (c.charAt(0) == ' ') {
        c = c.substring(1);
      }
      if (c.indexOf(cname) == 0) {
        return c.substring(cname.length, c.length);
      }
    }
    return "";
  }

删除Cookie

  function deleteCookie(name){
    setCookie(name,"",-1);
  }

JavaScript教程



此条目发表在博客, 服务器, 程序开发, 计算机安全分类目录,贴了, , , , , , 标签。将固定链接加入收藏夹。