这里讲解一下获取document.cookie里面的指定项目值的两种方法:
第一种:
let allcookies = document.cookie;
function getCookie(cookie_name)
{var allcookies = document.cookie;var cookie_pos = allcookies.indexOf(cookie_name); //索引的长度// 如果找到了索引,就代表cookie存在,// 反之,就说明不存在。if (cookie_pos != -1){// 把cookie_pos放在值的开始,只要给值加1即可。cookie_pos += cookie_name.length + 1; //这里容易出问题,所以请大家参考的时候自己好好研究一下var cookie_end = allcookies.indexOf(";", cookie_pos);if (cookie_end == -1){cookie_end = allcookies.length;}var value = unescape(allcookies.substring(cookie_pos, cookie_end)); //这里就可以得到你想要的cookie的值了。。。}return value;
}// 调用函数
let cookie_val = getCookie(cookie的名字);
第二种:
function getCookie(cname)
{var name = cname + "=";var ca = document.cookie.split(';');for(var i=0; i<ca.length; i++) {var c = ca[i].trim();if (c.indexOf(name)==0) return c.substring(name.length,c.length);}return "";
}// 调用函数
let cookie_val = getCookie(cookie的名字);
原理:
1- 通过document.cookie获取所有的cookie值,获取到一个cookie所有值在一起的字符串。
2- 因为所有的cookie都是以分号隔开的,所有使用split(’;’)将这个字符串切开变成数组,存起来。
3-判断数组中每一项有没有包含cookie名字的,如果有,把对应的值取出来就行。