Второй способ предполагает использование свойства document.cookie. Это свойство мы упомянули, рассказывая о свойствах и методах объекта document, создаваемого для документа HTML, загруженного в окно браузера.
В общем виде сценарий JavaScript может создать cookie следующим образом:
document.cookie =
“Имя=Значение;
Здесь мы просто записываем в свойство cookie объекта document текстовую строку, определяющую cookie.
Для пересчета текущей даты в формат GMT в сценариях JavaScript можно использовать встроенные функции, о чем мы скоро расскажем.
В качестве примера приведем исходный текст функции addCookie, которую мы будем использовать в своих сценариях для создания cookie:
function addCookie(szName,szValue,dtDaysExpires)
{
var dtExpires = new Date();
var dtExpiryDate = "";
dtExpires.setTime(dtExpires.getTime() +
dtDaysExpires * 24 * 60 * 60 * 1000);
dtExpiryDate = dtExpires.toGMTString();
document.cookie =
szName + "=" + szValue + "; expires=" + dtExpiryDate;
}
Функция addCookie получает три параметра.
Через параметр szName передается имя параметра, хранящегося в cookie. Параметр szValue определяет значение этого параметра cookie. Что же касается последнего параметра с именем dtDaysExpires, то он задает интервал времени по отношению к моменту создания cookie, когда этот cookie необходимо удалить.
Самое сложное в функции addCookie - это определение даты удаления cookie и преобразование этой даты в формат GMT. Данная задача решается следующим образом.
Прежде всего функция addCookie создает объект класса Date с помощью ключевого слова new:
var dtExpires = new Date();
Записанная таким образом в переменную dtExpires дата соответствует моменту вызова функции addCookie.
Далее с помощью метода getTime функция addCookie определяет текущую дату в миллисекундах и прибавляет к результату значение параметра dtDaysExpires, полученное функцией, умноженное на константу (24 * 60 * 60 * 1000):