Último artigo: Usando JS para ler, escrever, excluir o compartilhamento de código de cookies e instruções detalhadas de anotação, encontrei alguns problemas na prática:
1. Os cookies só podem ser depurados no Firefox em arquivos locais, ou seja, o Chrome são inválidos
2. O cookie não está pronto para nunca expirar. Ele considera apenas um período de tempo e expirar, o que é obviamente irracional.
Desta vez, um código de operação de cookies mais razoável é fornecido:
A cópia do código é a seguinte:
var cookie = {
Get: function (k) {
return ((novo regexp (["(?:;)?", k, "= ([^;]*);?"]. junção ("" "))). test (document.cookie) && regexp [" $ 1 "]) || "";
},
SET: function (k, v, e, d) {
var date = new Date ();
var expiresDays = e;
DAT.SETTIME (DATE.GETTIME ()+EXPIRESSDAES*24*3600*1000);
// Se houver um tempo definido, use cookies dentro do tempo especificado, caso contrário, ele nunca expirará
document.cookie = k+"="+v+"; expira ="+(e! = ''? date.togmtString (): "gmt_string")+"; path =/; domain ="+(d || '');
},
del: function (k) {
var date = new Date ();
// Defina a data para o tempo passado
DAT.SETTIME (DATE.GETTIME ()-10000);
document.cookie = k+"=; expires ="+date.togmtString ();
}
};
O exemplo demonstra: Clique no texto para expandir o conteúdo e clique em Ocultar novamente. Quando o conteúdo estiver oculto, ele ainda será oculto na próxima vez que for aberto e, quando o conteúdo for exibido, ele ainda será exibido na próxima vez que for aberto.
A cópia do código é a seguinte:
<div>
<H3> encolher </h3>
<div id = "tabcon">
<p> O conteúdo aqui pode ser visto depois de expandir </p>
</div>
</div>
var Btn = document.getElementsByTagName ('H3') [0];
btn.addeventListener ('click', function () {
var isClose = this.getAttribute ('Data-isclose');
if (isClose == 'Close') {
mostrar();
Cookie.del ('sinalizador');
}outro{
esconder();
Cookie.set ('Flag', 'Hide');
}
});
var tabCon = document.getElementById ('tabcon');
function show () {
tabcon.style.display = 'bloco';
btn.setAttribute ('Data-isclose', 'Open');
btn.innerhtml = 'encolhimento';
}
function hide () {
tabcon.style.display = 'nenhum';
btn.setAttribute ('Data-isclose', 'Close');
btn.innerhtml = 'expandir';
}
VAR Flag = Cookie.get ('sinalizador');
if (flag == 'hide') {
esconder();
}