Dernier article: Utilisation de JS pour lire, écrire, supprimer le partage de code cookie et les instructions d'annotation détaillées, j'ai trouvé quelques problèmes en pratique:
1.
2. Le cookie n'est pas prêt à ne jamais expirer. Il ne considère que la définition d'une période et expire, ce qui est évidemment déraisonnable.
Cette fois, un code d'opération de cookies plus raisonnable est donné:
La copie de code est la suivante:
var cookie = {
get: function (k) {
return ((new regexp (["(?:;)?", k, "= ([^;] *);?"]. join (""))). test (document.cookie) && regexp ["$ $"]) || "";
},
set: fonction (k, v, e, d) {
var date = new Date ();
var expiresdays = e;
date.settime (date.getTime () + Expiresdays * 24 * 3600 * 1000);
// S'il y a un temps défini, utilisez des cookies dans le temps spécifié, sinon il n'expirera jamais
document.cookie = k + "=" + v + "; expires =" + (e! = ''? date.togmtString (): "gmt_string") + "; path = /; domain =" + (d || '');
},
del: fonction (k) {
var date = new Date ();
// définit la date du passé
date.settime (date.getTime () - 10000);
document.cookie = k + "=; exires =" + date.togmtString ();
}
};
L'exemple démontre: cliquez sur le texte pour développer le contenu, puis cliquez à nouveau à masquer. Lorsque le contenu est masqué, il sera toujours caché la prochaine fois qu'il sera ouvert et lorsque le contenu sera affiché, il sera toujours affiché la prochaine fois qu'il sera ouvert.
La copie de code est la suivante:
<div>
<h3> rétrécissement </h3>
<div id = "TabCon">
<p> Le contenu ici peut être vu après l'expansion </p>
</div>
</div>
var btn = document.getElementsByTagName ('H3') [0];
btn.addeventListener ('click', function () {
var isClose = this.getAttribute ('data-disslose');
if (isclose == 'close') {
montrer();
Cookie.del ('drapeau');
}autre{
cacher();
Cookie.set («drapeau», «cache»);
}
});
var tabCon = document.getElementById ('tabCon');
fonction show () {
TABCON.STYLE.DISPlay = 'Block';
BTN.SetAttribute («Data-Resclose», «Open»);
btn.innerhtml = 'shrink';
}
function hide () {
tabCon.style.display = 'Aucun';
BTN.SetAttribute («Data-Resclose», «Close»);
btn.innerhtml = 'expand';
}
var flag = cookie.get ('drapeau');
if (flag == 'hide') {
cacher();
}