当前位置:首页 > 专题管理

JavaScript document cookie 属性:设置或查询与当前文档相关的 cookie

document cookie 属性定义

cookie 属性可设置或查询与当前文档相关的所有 cookie。语法如下:

document.cookie [ = name1=value1; expire=GMT_String; path=; domain=;]

设置 cookie

设置 cookie 值

现在要设置两个 cookie:

user_id=2;
user_name=admin;

JavaScript 代码如下:

document.cookie = "user_id=2"; 
document.cookie = "user_name=admin";设置 cookie 过期时间,路径及作用域下面的例子设置过期时间为一天,路径为网站根目录,所有此域名下的 cookie 都共享://获取当前时间 
var date=new Date(); 
date.setTime(date.getTime()+24*3600*1000); 
document.cookie = "user_id=2;path=/;domain=.5idev.com;expire="+date.toGMTString();设置 cookie 有特殊符号在 cookie 的名或值中不能使用分号(;)、逗号(,)、等号(=)以及空格,当值中需要保留这些符号时,需要用 escape() 函数进行编码,它能将一些特殊符号使用十六进制表示。document.cookie = "test="+escape("JavaScript cookie test");而在取出值以后再使用 unescape() 进行解码从而得到原来的 cookie 值,这种方法还能有效避免中文乱码等。获取 cookie 值通过 document.cookie 可以直接获取当前页面 cookie 的值,得到的是一个字符串。下面的例子读取当前页面的 cookie(如果有的话):<html>
<body>

<p>与本文档相关的 cookies:</p>
<script type="text/javascript">
document.write(document.cookie)
</script>

</body>
</html>运行该例子,输出如下(不同的文档及不同浏览器输出内容可能不同):与本文档相关的 cookies:
PHPSESSID=lk40pcgaqnh1s1545oqvbsrlo3; 
BHvI_2132_widthauto=1;
BHvI_2132_ulastactivity=f1812nHW40njUS8xhWoNcehET9hmgMGu2Bxk2N7yrAjczvtwnxNN;
BHvI_2132_lastcheckfeed=1%7C1352996907;
BHvI_2132_auth=5230MHZEAi0DAOCDQtFhZVCtvcRTHKt%2BwZXXayJd5mjimRBXJHbyKAq2nm570bcBHUK2fJblfSUlmCPPrLn7;
BHvI_2132_nofavfid=1;
BHvI_f9e0_nofavfid=1;
BHvI_f9e0_ulastactivity=65186DADp3j90bfuldtDqrvjeiR08WDS9zEv%2FllVdK%2FF1zUWF7bt很遗憾 JavaScript 不支持直接通过 name 来获取对应的 cookie 值,需要通过处理得到的 cookies 字符串来实现:var str_cookie = document.cookie;
var arr_cookie = str_cookie.split("; "); 
var php_session;
//遍历 arr_cookie 数组 
for(var i=0;i<arr_cookie.length;i++){ 
  var arr = arr_cookie[i].split("=");
  //找到名称为userId的cookie
  if("PHPSESSID"==arr[0]){ 
    php_session=arr[1]; 
    break; 
  } 
}
document.write(php_session);更新 cookie 值将需要更新的 cookie name 重新设定值即可,如果有过期时间,作用域等也需要一并设定。删除 cookie 值要删除一个cookie,将其过期时间设定为一个过去的时间即可:var date=new Date(); 
date.setTime(date.getTime()-1000); 
document.cookie = "user_id=2;expire="+date.toGMTString();

本章节内容共分 13 部分:

  1. JavaScript Document 对象
  2. JavaScript document 对象集合
  3. JavaScript document cookie 属性:设置或查询与当前文档相关的 cookie
  4. JavaScript document domain 属性:得到当前文档的域名
  5. JavaScript document lastModified 属性:得到文档最后被修改的日期和时间
  6. JavaScript document referrer 属性:得到上一页的 URL 地址
  7. JavaScript document title 属性:得到当前文档的标题
  8. JavaScript document URL 属性:得到当前文档的 URL
  9. JavaScript document getElementById() 方法:根据给定的 id 查找文档元素
  10. JavaScript document getElementByName() 方法:根据给定的 name 属性值查找文档元素
  11. JavaScript document getElementByTagName() 方法:根据给定的元素标签 name 查找文档元素
  12. JavaScript document open() 方法:打开一个新文档
  13. JavaScript document close() 方法:关闭一个由 open 方法打开文档