文档章节

cookie的操作以及属性

spademan
 spademan
发布于 2013/10/15 20:27
字数 524
阅读 20
收藏 0

一:操作

1.得到某个cookie的值


function getCookie(name){   
      var start = document.cookie.indexOf(name+"=");       
      var len = start+name.length+1;       
      if ((!start) && (name != document.cookie.substring(0,name.length))) return null;       
      if (start == -1) return null;       
      var end = document.cookie.indexOf(";",len);       
      if (end == -1) end = document.cookie.length;       
       return decodeURIComponent(document.cookie.substring(len,end));     
    }
2. 设置cookie的值


1. function setCookie(name,value,expires,path,domain,secure){   
   2.     var today = new Date();   
   3.     today.setTime(today.getTime());   
   4.     if(expires)   
   5.     {   
   6.         expires = expires * 1000 * 60 * 60 *24;   
   7.     }   
   8.     var expires_date = new Date(today.getTime() + (expires));   
   9.     value = encodeURIComponent(unescape(value));   
  10.     document.cookie = name+'='+value+   
  11.         ( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) +   
  12.         ( ( path ) ? ';path=' + path : '' ) +    
  13.         ( ( domain ) ? ';domain=' + domain : '' ) +   
  14.         ( ( secure ) ? ';secure' : '' );    
  15. }

3.删除cookie的值


1. function delAllCookie()   
   2. {   
   3.     tmpArr = document.cookie.split(";");   
   4.     delKey = new Array();   
   5.     for(i in tmpArr)   
   6.     {   
   7.         if(tmpArr[i].indexOf("mykeywords") != -1)   
   8.         {   
   9.             delKey.push(decodeURIComponent(tmpArr[i].split("=")[0]));   
  10.         }   
  11.     }   
  12.     today = new Date();   
  13.     today.setTime(today.getTime() - 10000);   
  14.     for(i in delKey)   
  15.     {   
  16.         name = delKey[i];   
  17.         document.cookie = name+"='';expires="+today.toGMTString();   
  18.     }   
  19.     tmpArr = delKey = today = "";   
  20. }

由于JS上无法直接删除cookie所以采用过期的方式来删除cookie上边的例子是删除多个的,想单独删除某个值的时候参照添加单个 cookie

1. //删除cookie的某个值   
   2. function delCookie(value)   
   3. {   
   4.     len = keywords.length;   
   5.     for(i in keywords)   
   6.     {   
   7.         if(keywords[i] == value)   
   8.         {   
   9.             keywords.splice(i,1);   
  10.         }   
  11.     }   
  12.        
  13.     if(keywords.length == 0)   
  14.     {   
  15.         delAllCookie();   
  16.     }   
  17. }


decodeURIComponent 对UTF-8的字符进行解码

encodeURIComponent 对字符进行编码 UTF-8

可以用来和UTF-8的程序文件进行交互

JS操作cookie的BUG

当不同级目录设置操作cookie的时候,下级目录可以读取上级目录,但是不能对上级目录设置的COOKIE进行直接操作,如果对数组类型的 cookie进行操作时,下级目录会自动复制上级目录中的cookie导致cookie会现问题(会出现两个一样的cookie),所以在不同级目录中最好不要操作数同一个组类型的cookie

二:属性

 

Domain 属性获取或设置 Cookie 对其有效的 URI。

Expires 属性获取或设置作为 DateTime 的 Cookie 过期日期和时间。

Name 属性获取或设置 Cookie 的名称。

Secure 属性获取或设置 Cookie 的安全级别。

Value 属性获取或设置 Cookie 的 Value

 


© 著作权归作者所有

spademan
粉丝 8
博文 92
码字总数 39247
作品 0
广州
前端工程师
私信 提问
Java管理Cookie增删改查操作。

Cookie属性 了解这几个属性之后,就知道如何进行Cookie的操作了。 name Cookie的名称。 value Cookie的值。 maxAge Cookie的失效时间,有以下几种值,默认为-1 path Cookie的有效路径,表示这...

java技术栈
2017/11/14
0
0
[Java开发之路](26)Cookie机制

1. Cookie机制 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端...

sjf0115
2016/07/12
0
0
好程序员web前端分享Cookie知识

  好程序员web前端分享Cookie知识,今天小编为大家带来了一篇新手必看干货,接下来让我们一起来看一看吧。 一、Cookie的出现 浏览器和服务器之间的通信少不了HTTP协议,但是因为HTTP协议是...

好程序员IT
07/03
0
0
Cookie讲解(1)

Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。 Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器...

熊二的爸爸是谁
2018/01/11
0
0
Cookie/Session机制详解

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用...

凡尘里的一根葱
2015/10/23
21
0

没有更多内容

加载失败,请刷新页面

加载更多

进程命令ps

命令ps 用途: 显示当前系统的进程状态 语法: ]# ps [选项] 常用选项: aux = 列出正在运行的所有进程; a 显示现行终端机下的所有程序,包括其他用户的程序 u 以用户为主...

迷失De挣扎
今天
3
0
聊聊spring cloud的CachingSpringLoadBalancerFactory

序 本文主要研究一下spring cloud的CachingSpringLoadBalancerFactory CachingSpringLoadBalancerFactory spring-cloud-openfeign-core-2.2.0.M1-sources.jar!/org/springframework/cloud/o......

go4it
昨天
4
0
一篇文章搞定——JDK8中新增的StampedLock

一、StampedLock类简介 StampedLock类,在JDK1.8时引入,是对读写锁ReentrantReadWriteLock的增强,该类提供了一些功能,优化了读锁、写锁的访问,同时使读写锁之间可以互相转换,更细粒度控...

须臾之余
昨天
4
0
Android Camera原理之CameraDeviceCallbacks回调模块

在讲解《Android Camera原理之openCamera模块(二)》一文的时候提到了CameraDeviceCallbacks回调,当时没有详细展开,本文我们详细展开讲解一下。 CameraDeviceCallbacks生成过程: 《Android...

天王盖地虎626
昨天
5
0
Python3正则表达式

在Python中使用正则表达式 Python语言通过标准库中的 re模块 (import re)支持正则表达式。 使用 match 方法匹配字符串 匹配字符串也就是设定一个文本模式,然后判断另外一个字符串是否符合这...

ZeroBit
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部