Letzter Artikel: Verwenden von JS zum Lesen, Schreiben, Löschen von Cookie -Code -Teilen und detaillierten Annotationsanweisungen in der Praxis einige Probleme:
1. Cookies können nur in lokalen Dateien auf Firefox debuggen, dh und Chrome sind ungültig
2. Der Keks ist nicht so eingestellt, dass er niemals abläuft. Es wird nur berücksichtigt, einen Zeitraum zu setzen und abzulehnen, was offensichtlich unangemessen ist.
Diesmal wird ein vernünftigerer Cookie -Betriebscode angegeben:
Die Codekopie lautet wie folgt:
var Cookie = {
GET: Funktion (k) {
return ((New Regexp (["(?:;)?", K, "= ([^;]*);"]. Join ("")). "";
},
SET: Funktion (k, v, e, d) {
var date = new Date ();
var ablehnt Tage = e;
Datum.Settime (Datum.GetTime ()+ablehnt Tails*24*3600*1000);
// Wenn es eine festgelegte Zeit gibt, verwenden Sie Cookies innerhalb der angegebenen Zeit, da es sonst niemals abläuft
document.cookie = k+"="+v+"; expires ="+(e!
},
Del: Funktion (k) {
var date = new Date ();
// Datum auf vergangene Zeit festlegen
Datum.Settime (Datum.getTime ()-10000);
document.cookie = k+"=; expires ="+date.togmtstring ();
}
};
Das Beispiel zeigt: Klicken Sie auf den Text, um den Inhalt zu erweitern, und klicken Sie erneut ausblenden. Wenn der Inhalt versteckt ist, wird er das nächste Mal, wenn er geöffnet wird, immer noch verborgen, und wenn der Inhalt angezeigt wird, wird er das nächste Mal immer noch angezeigt, wenn er geöffnet wird.
Die Codekopie lautet wie folgt:
<div>
<h3> Schrumpf </h3>
<div id = "tabcon">
<p> Der Inhalt hier ist nach der Erweiterung </p> zu sehen
</div>
</div>
var btn = document.getElementsByTagName ('H3') [0];
btn.addeventListener ('klick', function () {
var isclose = this.getAttribute ('data-isclose');
if (isclose == 'close') {
zeigen();
Cookie.del ('Flag');
}anders{
verstecken();
Cookie.set ('Flag', 'Hide');
}
});
var tabcon = document.getElementById ('tabcon');
Funktion show () {
tabcon.style.display = 'block';
btn.setattribute ('data-isclose', 'open');
btn.innerhtml = 'Shrink';
}
Funktion hide () {
tabcon.style.display = 'none';
Btn.SetAttribute ('Data-isclose', 'Close');
btn.innerhtml = 'expand';
}
var flag = cookie.get ('flag');
if (flag == 'hide') {
verstecken();
}