Home
Posts
Tag
About
设置cookie几种方法
设置cookie几种方法
2018-12-03 11:41:29
### 1.使用jQuery的cookie扩展 设置、读取cookie方法如下。 ``` $.cookie('the_cookie'); // 读取 cookie $.cookie('the_cookie', '', { expires: -1 }); // 删除 cookie $.cookie("the_cookie",NULL); // 删除 cookie $.cookie('the_cookie', 'the_value', [{参数:值}]); // 存储一个cookie 参数详解,多个参数之间用逗号‘,’隔开。 ``` ##### expires: 365|(object) data 定义cookie的有效时间,值可以是一个数字(从创建cookie时算起,以天为单位)或一个Date 对象。如果省略,那么创建的cookie是会话cookie,将在用户退出浏览器时被删除。 ##### path: '/' 默认情况:只有设置cookie的网页才能读取该cookie。 定义cookie的有效路径。默认情况下, 该参数的值为创建 cookie 的网页所在路径(标准浏览器的行为) 。 如果你想在整个网站中访问这个cookie需要这样设置有效路径:path: ‘/’。如果你想删除一个定义 了有效路径的 cookie,你需要在调用函数时包含这个路径:```$.cookie(‘the_cookie’, null, { path: ‘/’ });``` ##### domain: 'example.com' 默认值:创建 cookie的网页所拥有的域名。 ##### secure: true|false 默认值:false。如果为true,cookie的传输需要使用安全协议(HTTPS) ##### raw: true|false 默认为false。读取和写入 cookie 的时候是否自动进行编码和解码(即使用encodeURIComponent 编码, decodeURIComponent 解码)。注意:使用jQuery的cookie扩展(点此下载)需要单独安装,cookie扩展不是默认扩展 ### 2.原生js的写法 设置cookie函数,name:要设置的cookie名,value:设置的cookie值。该函数的过期时间为每天0点,path为根目录。 ``` function setCookie(name,value){ // var expd = new Date(); //new Date("December 31, 9998"); var Hours = 24 - expd.getHours(); // 每天0点过期 expd.setTime(expd.getTime() + (Hours*60*60*1000)); var newCookie = name+"="+ escape (value) + ";"+"path=/;expires=" + expd.toGMTString(); window.document.cookie=newCookie } ``` ##### 获取cookie的值函数 ``` function getCookie(c_name){ if (document.cookie.length>0){ c_start=document.cookie.indexOf(c_name + "=") if (c_start!=-1){ c_start=c_start + c_name.length+1 c_end=document.cookie.indexOf(";",c_start) if (c_end==-1) c_end=document.cookie.length return unescape(document.cookie.substring(c_start,c_end)) } } return "" } ```