Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Листинг 7.1. Файл chapter7/Again/Again. html




<HTML>

<HEAD>

<TITLE>Cookies demo</TITLE>

<SCRIPT LANGUAGE="JavaScript">

<!--

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;

}

function findCookie(szName)

{

var i = 0;

var nStartPosition = 0;

var nEndPosition = 0;

var szCookieString = document.cookie;

while(i <= szCookieString.length)

{

nStartPosition = i;

nEndPosition = nStartPosition + szName.length;

if(szCookieString.substring(nStartPosition,nEndPosition) == szName)

{

nStartPosition = nEndPosition + 1;

nEndPosition = document.cookie.indexOf(";",nStartPosition);

if(nEndPosition < nStartPosition)

nEndPosition = document.cookie.length;

return document.cookie.substring(nStartPosition, nEndPosition);

break;

}

i++;

}

return "";

}

function removeCookie(szName)

{

var dtExpires = new Date();

dtExpires.setTime(dtExpires.getTime() - 1);

var szValue = findCookie(szName);

document.cookie = szName + "=" + szValue + "; expires=" + dtExoires.toGMTString();

}

function btnClick()

{

if(findCookie ("Visit") == "")

 

{

addCookie("Visit","Alexandr_Frolov",10);

addCookie("Count","0",10);

document.write("<H2>You are welcome!</H2>");

}

else

{

var szCnt = findCookie("Count");

var i=0;

if(szCnt!= "")

{

i = szCnt;

i++;

szCnt = i.toString();

addCookie("Count", szCnt,10);

}

document.write("<H2>You are welcome AGAIN!</H2>");

document.write(document.cookie);

}

}

//-->

</SCRIPT>

</HEAD>

<BODY BGCOLOR=white>

<Hl>Visit our page!</Hl>

<FORM NAME="TestForm">

<P><INPUT TYPE="button" VALUE="Go to page" onClick="btnClick();">

<P><INPUT TYPE="button" VALUE="Remove All Cookies"

onClick="removeCookie('Count'); removeCookie('Visit')">

</FORM>

</BODY>

</HTML>

 

Функції addCookie, findCookie і removeCookie, визначені в цьому документі, знайомі. Вони призначені відповідно для створення cookie, витяги значення заданого параметра cookie і видалення cookie.

Функція bInClick визивається, коли користувач натискає у формі кнопку з написом Go to page.

Насамперед ця функція шукає параметр cookie з ім'ям Visit. Якщо такий параметр не знайдений, рахується, що сторінка посещается в перший разом. У цьому випадку функція btnClick створює параметри cookie з іменами Visit і Count, а потім формує текст документа HTML із запрошенням.

 

addCookie("Visit","Alexandr_Frolov",10);

addCookie("Count","0",10);

document. write("<H2>You are welcome! </H2>");

 

У тому випадку, коли користувач відвідує сторінку повторно, параметр cookie з ім'ям Visit вже існує. У цьому випадку функція btnClick намагається знайти параметр з ім'ям Count і одержати його значення:

 

var szCnt = findCookie("Count");

 

Це значення потім збільшується на одиницю і записується обернено в параметр cookie з ім'ям Count:

 

i = szCnt;

i++;

szCnt = i. toString();

addCookie("Count",szCnt,10);

 

Завершуючи свою роботу, функція btnClick записує запрошення для користувачів, що відвідали повторно сторінку, і відображає уміст властивості document. cookie:

 

document.write("<H2>You are welcome AGAIN! </H2>");

document. write(document. cookie);

 

Оброблювач події onClick кнопки з написом Remove All Cookies викликає функцію removeCookie для параметрів cookie з іменами Count і Visit, удаляя їх:

 

<imput TYPE="button" VALUE="Remove All Cookies"

0nClick="removeCookie ('Count'); removeCookie ('Visit')">

 

7.2.2. Записна книжка Cookies Notepad

У такому прикладі cookie застосована для збереження довільного тексту, набраного користувачем у многострочном вікні редагування.

При першому завантаженні документа HTML із записною книжкою вікно редагування залишається порожнім. Можна набрати тут будь-який текст і записати його в cookie, натиснувши кнопку Store text. Якщо тепер закрити документ HTML і відчинити його знову, набраний раніше текст з'явиться у вікні редагування.

Для того щоб видалити текст і cookie, достатньо натиснути кнопку Clear text. Вихідний текст документа HTML із записною книжкою Cookies Notepad поданий у листинге 7.2.

 




Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 311; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.