Клиентский JavaScript 1.3

         

Использование кук в JavaScript


Свойство document.cookie это строка, содержащая имена и значения всех кук Navigator'а. Вы можете использовать это свойство для работы с куками в JavaScript.

Вот что Вы можете делать с куками:

  • Устанавливать значение куки, специфицируя, по выбору, срок действия куки.
  • Получить значение куки, задав её имя.

Для выполнения этих задач удобно определить функцию. Вот, например, функция, устанавливающая значение и дату окончания действия куки:

// Установить значение куки. Дата окончания действия - не обязательна.
//
function setCookie(name, value, expire) {
document.cookie = name + "=" + escape(value)
   + ((expire == null) ? "" : ("; expires=" + expire.toGMTString()))
}

Обратите внимание на использование функции escape для кодирования специальных символов (точки с запятой, запятой, пробелов) в строке-значении. Эта функция принимает, что имена кук не содержат специальных символов.

Следующая функция возвращает значение куки, задавая имя куки:

function getCookie(Name) {
   var search = Name + "="
   if (document.cookie.length > 0) { // если есть какие-либо куки
      offset = document.cookie.indexOf(search)
      if (offset != -1) { // если кука существует
         offset += search.length
         // установить индекс начала значения
         end = document.cookie.indexOf(";", offset)
         // установить индекс конца значения куки
         if (end == -1)
            end = document.cookie.length
         return unescape(document.cookie.substring(offset, end))
      }
   }
}

Обратите внимание на использование функции unescape для декодирования специальных символов в значении куки.



Содержание раздела