O cookie conceito:
referem-se a determinados sites, a fim de identificar a identidade do usuário, uma sessão (sessões) e os dados de trilha (normalmente criptografada) no armazenamento terminal local do usuário. Existir na forma de texto.
Técnico cookie de rastreamento de sessão:
rastreamento de todas as ligações, informações de registro de conexão gerados, a próxima conexão, juntamente com o enviado passado
Características :
1. única salvar personagens, texto
2. não permite cross-domain (que existem, e que usam)
3 momento crítico, o nível de sessão padrão, feche o navegador, pode ser excluído (válido por um tempo limitado, ou seja, estabelecimento de envelhecimento)
4. número (50) e tamanho (4K) limita
o uso do cookie:
1, conjunto de cookies padrão:
document.cookie = "user=admin";
document.cookie = "pass=123";
console.log(document.cookie);
Ao adquirir biscoito, document.cookie vai ter um one-time todos os cookies, os resultados que retornam para o navegador é baseado no seguinte formato apresenta
utilizador = admin; pass = 123
, mas não afeta o formato de conjunto de resultados, ajuste as configurações de tempo ou como como conjunto
não permite mais do que um depósito de uma só vez
document.cookie = "a=10;b=20;c=30"; //只会生效第一个
console.log(document.cookie);
2, é fornecido com um período de validade do cookie
var d = new Date();
d.setDate(d.getDate() + 3);//获取指定日期
document.cookie = "abc=123;expires=" + d;
document.cookie = "qwe=345;path=/";
console.log(document.cookie);
Nota:
quando a consulta de cookie, o cookie não pode obter o caminho atual é válido e
informações detalhadas um cookie só pode ser visto por uma ferramenta (console baseado no navegador)
3, exclua o cookie: contanto que a data especificada no tempo passado para
var d = new Date();
d.setDate(d.getDate() - 1);//获取指定日期(无法获取以前的日期)
document.cookie = "zxc=567;path=/;expires=" + d;
console.log(document.cookie)
: Note-se que
há um cookie só sob o mesmo nome do mesmo caminho, duplicação modificações equivalentes
document.cookie = "a=10";
document.cookie = "a=20";
Pode haver diferentes caminhos de cookie com o mesmo nome
document.cookie = "a=20";
document.cookie = "a=30";
document.cookie = "a=20;path=/";
pacote de cookie:
. 1, pacote de biscoito, desde que:
function setCookie(key,val,ops){
ops = ops || {};
let e = "";
if(ops.expires){
var d = new Date();
d.setDate(d.getDate() + ops.expires);
e = ";expires="+d;
}
let p = ops.path ? ";path="+ops.path : "";
document.cookie = `${key}=${val}${p}${e}`;
}
Um método para uso:
definir um cookie ambos têm caminho válido
setCookie("hahhah","677",{
expires:3,
path:"/"
});
2, a aquisição pacote de cookie:
function getCookie(key){
// 1.获取所有cookie
let strC = document.cookie;
// 2.使用"; "分隔所有的cookie,单独拿到每一条
let arrC = strC.split("; ");
// 3.遍历每一条cookie
for(var i = 0;i<arrC.length;i++){
// 4.在此使用"="分隔,分隔成 名字和值的独立的状态
// 5.判断数组的第一位的名字时否与传进来的获取的cookie的名字一致
if(arrC[i].split("=")[0] === key){
// 6.如果一致,返回数组的第二位,也就是对应的值
return arrC[i].split("=")[1];
}
}
// 7.循环结束后,如果程序还在执行,说明没有找到一致的值,那就返回空字符
return "";
}
Uso método exemplo:
console.log(getCookie("qwe"));
console.log(getCookie("abc"));
console.log(getCookie("user"));
pacote de eliminação 3, cookie:
function removeCookie(key,ops){
// 1.保证ops是个对象
ops = ops || {};
// 2.ops是对象了,无论如何得有个expires的属性为-1
ops.expires = -1;
// 3.将处理好的ops,给setCookie
setCookie(key,"hsa",ops);
// 这里的第二个值不能省略
}
Uso método exemplo:
removeCookie("abc",{
path:"/"
});