Форум / Интернет / Тема

+ Список Разделы Темы Новая тема Ответить Ответ админа Удалить Открыть/Закрыть Чат Барахолка Каталог
Реклама

Cookies в JavaScript

Статистика темы

Всего ответов в теме: 1
Просмотров темы: 2445

Hron
  Fri Jul 25 06:05:10 2003
Кто знает как работать с cookies с помощью Javascript.
Click
МоскваMon Jul 28 15:19:34 2003
Re: Cookies в JavaScript
Данные в cookie содержат строки следующего содержания:
ИмяПараметра=ЗначениеПараметра;expires=Строка_времени_в_GMT(до указанной даты хранится эта строка);domain=Домен(URL)СоздавшийЗапись;secure=false|true(любое|безопасное http-соединение)
В JavaScript чтение-запись осуществляется коллекцией: document.cookie например запишем: document.cookie="UserName=Вася", создастся запись в cookie для домена, где лежит этот скрипт (если запись уже существует, то будет обновлена). Поскольку не указано время жизни, то запись будет существовать до закрытия браузера.
Допустим мы хотим хранить запись 1 месяц. Тогда запись должна осуществлятся следующим скриптом:
var expdate= new Date();
var monthFromNow= expdate.getTime()+(30*24*60*60*1000); // 1000-потому что значение в миллисекундах
expdate.setTime(monthFromNow);
document.cookie="UserName=Вася; expires=" + expdate.toGMTString();
Теперь запись текущего домена будет храниться месяц на компе пользователя. Если хотим удалить ее раньше, то должны указать уже прошедьшую дату: "expires=Thu, 01-Jan-70 00:00:01 GMT". Для чтения записи используется тот же метод:
var StrCookie= document.cookie;
В переменной StrCookie появится запись (если мы ее сделали так как выше): StrCookie="UserName=Вася; expires=КакаяТоДата; domain=Какой-тоДомен". Значит просто обрабатываем эту строку и получаем нужное значение. Если записи соответствующего домена нет, то StrCookie=null.
Напоследок напомню, что записи должны производится слитно, без пробелов и других символов разметки. Чтобы предотвратить ошибки при записи пользуйся встроенной функцией escape("Строка"), а при чтении unescape("Строка"). То есть если юзер введет на запрос UserName=Вася Пупкин, то escape("Вася Пупкин")="Вася%20Пупкин".
Реклама
Карта сайта Created by Isety corp. (2005), Version: 1.0.2, Revision: 19.01.2007