Последняя статья: Используя JS для чтения, написания, удаления обмена кодом файла cookie и подробных инструкций аннотации, я нашел некоторые проблемы на практике:
1. Файлы cookie можно отладить только на Firefox в локальных файлах, то есть и Chrome недействительны
2. Cookie не истекает никогда не истекать. Он рассматривает только установление периода времени и истекает, что, очевидно, неразумно.
На этот раз дается более разумный код операции cookie:
Кода -копия выглядит следующим образом:
var cookie = {
get: function (k) {
return ((New Regexp (["(?:;)? "";
},
SET: FUNCTION (K, V, E, D) {
var date = new Date ();
var истекает, e;
date.settime (date.getTime ()+oxrySdays*24*3600*1000);
// Если есть установленное время, используйте файлы cookie в течение указанного времени, в противном случае он никогда не истекает
document.cookie = k+"="+v+"; истекает ="+(e! = ''? date.togmtstring (): "gmt_string")+"; path =/; domain ="+(d || '');
},
del: function (k) {
var date = new Date ();
// установить дату в прошлое время
date.settime (date.gettime ()-10000);
document.cookie = k+"=; истекает ="+date.togtstring ();
}
};
Пример демонстрирует: нажмите на текст, чтобы развернуть контент, и нажмите «скрыть» снова. Когда контент будет скрыт, он все равно будет скрыт в следующий раз, когда он будет открыт, и когда контент будет отображаться, он все равно будет отображаться в следующий раз, когда он будет открыт.
Кода -копия выглядит следующим образом:
<div>
<h3> сокращается </h3>
<div id = "tabcon">
<p> содержание здесь можно увидеть после расширения </p>
</div>
</div>
var btn = document.getElementsbytagname ('h3') [0];
btn.addeventlistener ('click', function () {
var isClose = this.getAttribute ('isclose');
if (isclose == 'close') {
показывать();
Cookie.del ('flag');
}еще{
скрывать();
Cookie.set ('flag', 'Hide');
}
});
var tabcon = document.getElementById ('tabCon');
функция show () {
tabcon.style.display = 'block';
btn.setattribute ('data-isclose', 'open');
btn.innerhtml = 'shrink';
}
функция hide () {
tabcon.style.display = 'none';
btn.setattribute ('data-isclose', 'close');
btn.innerhtml = 'expand';
}
var flag = cookie.get ('flag');
if (flag == 'Hide') {
скрывать();
}