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Пупкин".
|
|