Wiki-учебник по веб-технологиям: JavaScript/ИспользованиеCookiesВJavaScript ...

Главная | Каталог |

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


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

Вот что вы можете делать с cookies:


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

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


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

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

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


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