Программирование >>  Руководство по созданию web приложений 

1 ... 24 25 26 [ 27 ] 28 29 30 ... 141


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 удален браузером.



1 ... 24 25 26 [ 27 ] 28 29 30 ... 141

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика