Книга: JavaScript. Подробное руководство, 6-е издание
20.2.2. Сохранение cookies
20.2.2. Сохранение cookies
Чтобы связать временное значение cookie с текущим документом, достаточно присвоить его свойству cookie
строку следующего формата:
имя=значение
Например:
document.cookie = "version=" + encodeURIComponent(document.lastModified);
При следующем чтении свойства cookie
сохраненная пара имя/значение будет включена в список cookies документа. Значения cookie не могут содержать точки с запятой, запятые или пробельные символы. По этой причине для кодирования значения перед сохранением его в cookie, возможно, потребуется использовать глобальную JavaScript-функцию encodeURIComponent().
В этом случае при чтении значения cookie надо будет вызвать соответствующую функцию decodeURIComponent().
Записанный таким способом cookie сохраняется в течение сеанса работы веб-броузера, но теряется при его закрытии пользователем. Чтобы создать cookie, сохраняющийся между сеансами броузера, необходимо указать срок его хранения (в секундах) с помощью атрибута max-age
. Это можно сделать, присвоив свойству cookie строку следующего формата:
имя=значение; max-аgе=число_ секунд
Следующая функция устанавливает cookie с дополнительным атрибутом max-аgе
:
// Сохраняет пару имя/значение в виде cookie, кодируя значение с помощью
// encodeURIComponent(), чтобы экранировать точки с запятой, запятые и пробелы.
// Если в параметре daysToLive передается число, атрибут max-age
// устанавливается так, что срок хранения cookie истекает через
// указанное число дней. Если передать значение 0, cookie будет удален,
function setCookie(name, value, daysToLive) {
var cookie = name + "=" + encodeURIComponent(value);
if (typeof daysToLive === "number")
cookie += max-age=" + (daysToLive*60*60*24);
document.cookie = cookie;
}
Аналогичным образом можно установить атрибуты path, domain и secure, дописав к значению cookie строки следующего формата перед его записью в свойство cookie:
; path=путь
; domain=домен
; secure
Чтобы изменить значение cookie, установите его значение снова, указав то же имя, путь, домен и новое значение. При изменении значения cookie можно также переопределить срок его хранения, указав новое значение в атрибуте max-age
.
Чтобы удалить cookie, установите его снова, указав то же имя, путь, домен и любое произвольное (возможно пустое) значение, а в атрибут max-age
запишите 0.
- 20.2. Cookies
- 20 Сохранение данных на стороне клиента
- 20.2.5. Реализация хранилища на основе cookies
- Сохранение информации о пользователях при миграции
- Сохранение информации из Интернета
- Сохранение рабочей книги с именем, представляющим собой текущую дату
- Сохранение и использование шаблона узла
- Работа с Cookies
- Сохранение внесенных изменений
- Сохранение информации в реестре Windows
- 4.11.8. Сохранение фильтра
- Сохранение документов