JavaScript 可使用 document.cookie 属性来建立 、读取、及删除 cookies。javascript
JavaScript 中,建立 cookie 以下所示:java
document.cookie = 'username=hello world';
您还能够为 cookie 添加一个过时时间(以 UTC 或 GMT 时间)。默认状况下,cookie 在浏览器关闭时删除:浏览器
document.cookie="username=hello world; expires=Sat, 22 Oct 2016 13:18:19 GMT";
您可使用 path 参数告诉浏览器 cookie 的路径。默认状况下,cookie 属于当前页面。cookie
document.cookie="username=hello world; expires=Sat, 22 Oct 2016 13:18:19 GMT; path=/";
在 JavaScript 中, 可使用如下代码来读取 cookies:函数
var x = document.cookie; //document.cookie 将以字符串的方式返回全部的 cookies. //类型格式: cookie1=value; cookie2=value; cookie3=value;
在 JavaScript 中,修改 cookies 相似于建立 cookies,以下所示:spa
document.cookie="username=welcome; expires=Sat, 22 Oct 2016 13:18:19 GMT; path=/";
旧的 cookie 将被覆盖。code
删除 cookie 很是简单。您只须要设置 expires 参数为之前的时间便可,以下所示,设置为 Thu, 01 Jan 1970 00:00:00 GMT:ip
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT";
注意,当您删除时没必要指定 cookie 的值。字符串
document.cookie 属性看起来像一个普通的文本字符串,其实它不是。get
即便您在 document.cookie 中写入一个完整的 cookie 字符串, 当您从新读取该 cookie 信息时,cookie 信息是以名/值对的形式展现的。
若是您设置了新的 cookie,旧的 cookie 不会被覆盖。 新 cookie 将添加到 document.cookie 中,因此若是您从新读取document.cookie,您将得到以下所示的数据:
cookie1=value; cookie2=value;
若是您须要查找一个指定 cookie 值,您必须建立一个JavaScript 函数在 cookie 字符串中查找 cookie 值。
首先,咱们建立一个函数用于存储访问者的名字:
/** * 设置一个cookie * @param string name cookie名称 * @param string value cookie值 * @param int time cookie有效期 单位秒 */ function setcookie(name, value, time){ var d = new Date(); d.setTime(d.getTime() + time*1000); var expires = 'expires=' + d.toUTCString(); document.cookie = name + '=' + value + '; ' + expires; }
而后,咱们建立一个函数用户返回指定 cookie 的值:
/** * 获取一个cookie的值 * @param string name cookie名称 * @return string cookie值 */ function getcookie(name){ name = name + '='; var cookies = document.cookie.split(';'); for(var i = 0; i < cookies.length; i ++){ var ck = cookies[i].trim(); if(ck.indexOf(name) === 0){ return ck.substr(name.length, ck.length); } } return ''; }