Невозможно понять код JavaScript - PullRequest
0 голосов
/ 14 февраля 2012

Я учусь создавать куки в JavaScript, у меня возникают проблемы с пониманием работы последних 3 строк кода.Я знаю, что этот Вопрос не соответствует Стандарту Stackoverflow, но я буду признателен, если кто-нибудь любезно объяснит это.

function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; 
expires="+exdate.toUTCString()); 
document.cookie=c_name + "=" + c_value;
}

Ответы [ 2 ]

4 голосов
/ 14 февраля 2012

Если exdays не равен нулю, то есть он задан в качестве аргумента (в JavaScript функции могут принимать любое количество аргументов), при троичной проверке (если / иначе сокращение) добавляет строку "expires = ..." к строке cookie. Иначе, нет строки expires (это будет cookie сессии).

Наконец, document.cookie модифицируется. Для получения дополнительной информации о файлах cookie и изменениях с помощью JS см. www.quirksmode.org / js / cookies.html

По сути, чтобы добавить новый файл cookie с помощью JS, вы устанавливаете document.cookie = "key = value". Другие файлы cookie не перезаписываются, новый файл cookie просто добавляется.

Чтобы удалить другие файлы cookie, необходимо установить дату истечения срока действия в прошлом, и они будут удалены браузером.

Если вы просто распечатаете document.cookie, вы увидите все куки (технически не все, кроме куки только для http и т. Д.), Но нет способа узнать даты их истечения из JavaScript.

0 голосов
/ 14 февраля 2012

Хорошо сказано Устуном: если вы понимаете общий формат записи и получения куки, вы можете стать мастером в этом.Это так же просто, как обрабатывать строки и массивы.Файлы cookie являются очень полезным компонентом для хранения нечастого контента небольшого размера.Обычно он используется для передачи небольшого объема данных (например, имя текущего пользователя или уникальный идентификатор пользователя и т. Д.) С одной страницы на другую или для связи с сервером для выполнения определенных операций. Настройка cookie Настройка cookie обычно очень проста.Это просто требует трех частей в своем определении. То есть:

Данные для хранения Дата истечения срока действия вашего cookie (необязательно), Домен вашего cookie (необязательно).Более подробную информацию об этих параметрах можно получить здесь . Пример: document.cookie = "name = test ; expires = date ; path =/" Получение значений cookie Как я уже сказал, это очень просто, как обработка строки массива.Точка с запятой (;) в приведенном выше примере будет действовать как разделитель для нашего сохраненного cookie. Пример var myCookie = document.cookie.split(';'); for(var i=0;i < myCookie.length;i++) { var cookieValue = myCookie[i]; var pair = myCookie[i].split('=');var key = pair[0];var value= pair[1]; }

Ограничение Даже это очень удобно для использования, но они не предназначены для нормальной коммуникации или механизма.Обратите внимание, что веб-браузеры не обязаны сохранять в общей сложности более 300 файлов cookie, а также не более 20 файлов cookie на каждый веб-сервер (для всего сервера, а не только для страницы или сайта на сервере), а также для хранения более 4 килобайт данных.за файл cookie (как имя, так и значение считаются с этим пределом в 4 килобайта).Основным ограничением является ограничение в 20 файлов cookie на сервер, поэтому не рекомендуется использовать разные файлы cookie для каждой переменной, которую необходимо сохранить.Скорее сохраните один файл cookie, содержащий много информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...