|
Программирование >> Руководство по созданию web приложений
szName + = + szValue + ; + dtExpiryDate; Функция addCookie нолучаеттри Через параметр szName передается имя параметра, хранящегося в Cookie. Параметр szValue определяет значение этого параметра Cookie. Что же касается последнего параметра - cltDaysEpires. то он задает интервал времени но отнощению к моменту создания Cookie, когда этот Cookie необходимо удалить. Самое сложное в функции addCookie - это определение даты удаления Cookie и преобразование это11 даты в формат Данная задача рещается следующим образом. Прежде всего, функция addCookie создает объект класса Date с помощью ключевого слова new: var dtExpires = new Date(); Записанная таким образом в неременную dtExpires дата соответствует ту вызовафункции addCookie. Далее с помощью метода функция addCookie онределяеттекущую дату в миллисекундах и прибавляет к результату значение параметра dtDaysExpires, функцие!!, умноженное на константу (24*60*60*1000): dtExpires, + dtDaysExpires * 24 * 60 * 60 * 1000 Константа - это количество часов в сутках, умноженное на количество минут в часе, затем на количество секунд в минуте и, наконец, на количество миллисекунд в Результат вычислений записывается при помощи метода . в . ную даты dtExpires. Теперь здесь хранится дата автоматического уничтожения Cookie браузером. Осталось лищь преобразовать эту дату в формат Такое преобразование нетрудно сделать с специально предназна- ченного для этого мeтoдat о G MTS tr ing, возвращающего текстовую строку в нужном нам формате: dtExpiryDate = atEap Теперь нам остается только сформировать текстовую строку определения Cookie и записать ее в свойство . cookie: szName + = + szalu- + + DtExpiryDate; На этом создание Cookie заверщено. Теперь, когда в Ващем распоряжении есть функция addCookie, создание Cookie представляет собой очень простую задачу. в следующей строке мы создаем Cookie с именем Count и значением О, причем через 10 дней браузер автоматически удалит этот Cookie: aPilCaakieCCount, 0~, 10). При необходимости использования параметров Cookie, например path или domain. Вы можете немного текст addCookie. С этой за- дачей Вы легко справитесь самостоятельно. Получение значения Cookie Итак, Вы научились создавать Cookie в клиентских сценариях. Теперь ем решить другую задачу - значения параметров Cookie. Она сводится к простому сканированию текстово!! строки, полученно!! следующим образом: var - = (Jocijment соо><:е: В это11 строке Вам нужно naiiTH подстроку Иии=3иачйнив; *, а затем извлечь полученное значение. Для облегчения это11 работы Вы можете воспользоваться функцие!! ind Cookie. Исходньш текст это11 функции приведен ниже: function , )kieCsz!iawe) { var i = CI; = 0; 0; = doeaient. eooaie; ahileCi <= szCeaiaieStrias. leagth) nStartPosition = i; nEndPosition = nStartPosition + , . == szName) nStartPosition = nEndPosition * 1; nEndPosition = doeaient. cook.ie. Indaaaa ( : aiStaatPoaltioa); if(nEndPosition < nStartPosition) nEndPuL=.itiun = . . - . .- :h: return break; return ; . строки из CBoiicTBa cookie и записи sfiou строки к - szCookieString организует циклически!! про- смотр всех символов это!! строки. Условием завершения цикла является просмотр всех символов szCookieString. lengtli. Сравнивая имя параметра с подстроке!!, извлеченно!! из строки St г lag при помощи метода findCookie пытается на1!тинуж- нь!!! параметр. Если оказывается успешно!!, функция findCookie про- пускает символ присваивания, извлекая значение параметра, точ- Koii с :аа; а i aai, Это значение возвращается функцие!! findCookie. Если же поиск неудачен, функция пустую строку. Какие возможности функция findCookie? Во-первых, она позволит Вам проверить, уст.инц.н.н ли для данного документа Cookie с заданным именем: cookie с иченем Visit установлен else cookie с именем Visit не Для того чтобы записать в текстовую неременную значение параметра Cookie с заданным именем. Вы должны сделать следующее: var szVisirValae = Как видите, пользоваться достаточно просто. Изменение значения параметра Cookie Для изменения значения параметра Cookie с заданным именем Вы можете просто вызвать oakie еще раз: addCool<ieCCount , О , 10); Sh.ihhh п.11ч11т1ч равно О t.-5\ 10); Значение параметра Count раоис 5 Здесь мы вначале установили для параметра Сount значение О, а затем намс нили это значение на 5. Удаление Cookie Самый простой способ удалить Cookie - установить для него такое время анп : . удаления, которое уже IIДля этого нужно получить текущую дату, уменьщить ее, . . на одну микросекунду, а затем изменить значение Все это делает функция . : unction as dtExpires = new var szValue = fi - 1); + + szValue + В последней строке этой функции мы указали такое значение параметра aapires, при котором Cookie будет iia,\iiviiaiiiifi удален браузером.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |