1、原生操作cookie
-
获取cookie (cookie值存 true 1 / false 0)
// 原生获取cookie
var isTranslate = document.cookie.split(';').some(function(item, index) {
var itemArr = item.split('=')
return itemArr[0] === 'translate' && itemArr[1] == 1
})
-
设置cookie
// 设置cookie days设置过期时间 单位:天 不传默认是 cookie 在浏览器关闭时删除
function setCookie(name,value,days) {
var exp = new Date();
exp.setTime(exp.getTime() + days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
-
获取cookie
function getCookie(name) { // 获取一个cookie
var strCookie = document.cookie;
var arr = strCookie.split(';');
for (var i = 0; i < arr.length; i++) {
var t = arr[i].split("=");
if(t[0] == name) {
return t[1];
}
};
return null;
}
-
删除cookie
//如果需要删除cookie的话,直接将过期时间设置成一个已经过去的日期即可
function clearCookie(name) {
setCookie(name, "", -1);
}
2、JQ操作cookie
-
设置cookie
$.cookie(键, 值, { expires: 7 });
$.cookie(键, 值, { expires: 7, path: '/' });
-
获取cookie
$.cookie(键)
-
删除cookie
$.cookie(键,null)
3、相关参数解释
1).expires: 365
定义cookie的有效时间
值可以是一个数字(从创建cookie时算起,以天为单位)或一个Date 对象。如果省略,那么创建的cookie是会话cookie,将在用户退出浏览器时被删除。
2).path: '/'
默认情况:只有设置cookie的网页才能读取该cookie。
定义cookie的有效路径。默认情况下, 该参数的值为创建 cookie 的网页所在路径(标准浏览器的行为)。
如果你想在整个网站中访问这个cookie需要这样设置有效路径:path: '/'。 如果你想删除一个定义了有效路径的 cookie,你需要在调用函数时包含这个路径:$.cookie('the_cookie', null, { path: '/' });。 domain: 'example.com'
默认值:创建 cookie的网页所拥有的域名。
3).secure: true
默认值:false。如果为true,cookie的传输需要使用安全协议(HTTPS)。
4).raw: true
默认值:false。
默认情况下,读取和写入 cookie 的时候自动进行编码和解码(使用encodeURIComponent 编码,decodeURIComponent 解码)。要关闭这个功能设置 raw: true 即可。
注:在默认情况下,只有设置cookie的网页才能读取该cookie。如果想让一个页面读取另一个页面设置的cookie,必须设置cookie的路径。cookie的路径用于设置能够读取 cookie的顶级目录。将这个路径设置为网站的根目录,可以让所有网页都能互相读取 cookie (一般不要这样设置,防止出现冲突)。
本文内容未经过校验,如有错误欢迎指出
材料参考:blog.csdn.net/alokka/arti…
www.jb51.net/article/441…