////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////// этот
текст надо воткнуть в файл cookies.txt
-----------start file
cookies.txt----------- //Cookie Welcome Page version 1.1 // //
www.subwaydesign.by.ru // ===================================== //
Andreev Oleg :: OLEGAtor : olega-tor@mail.ru // Copyright for
subway::design(R) and Andreev Oleg //
function
SetCookies(VV) { var link; document.cookie =
"Secret="+VV+"endOfSecret;expires=Sun, 31-Dec-06 00:00:01
GMT;";
1)файл
cookies.txt содержит описание 2 функций, работающих с
куками::
первая(SetCookies)получает в качестве параметра (параметр VV)
текст, в котором должно находится имя посетителя чтобы занести его в куку на
его же компьютере. рассмотрим по-подробнее::
var link; - это объявление
переменной, которая содержит путь к следующей странице
следующая строка
сохраняет куку с ключевым словом Secret(что бы по нему найти конкретно эту куку)
и пишет туда имя посетителя, переданное в параметр VV, заканчивая текст словом
endOfSecret, что отделить имя от дату смерти куки, которая пишется в самый конец
(здесь - конец 2006 года)
далее идет проверка параметра на пустоту ::
если он равен пустой строке, то link равен этой же странице(здесь - index.html),
если нет, то link равен другой странице (здесь - main.html)
после
проверки мы перемещаемся на страницу с адресом link
(window.location.href=link;)
Теперь рассмотрим функцию
DoCookies():: она не принимает никаких параметров, но делает оч. полезную
работу 8). Рассмотрим все строки по отдельности::
1)str1 - это просто
константа, которая содержит в себе ключевое слово Secret для того, что бы найти
по нему НАШУ куку(можно не использовать эту константу, а просто писать
"Secret=" вместо нее) 2)str2 - объявляем переменную для вывода из
функции(возвратное значение) 3)Далее идет проверка куки с этого документа,
если в ней содержится str1 ("Secret="), то все в порядке - это наша
кука! если же нет(такой куки вообще нет! Посетитель первый раз зашел на наш
сайт), то мы возвращаем (передаем значение str2, а потом его возвращаем) поле
ввода имени и приветствие
str2='Welcome
to my sight!<br><br>your name: <input class=inputbox maxlength=15
size=20
name=input>';
4)
Если кука все-таки есть, мы пишем ее содержимое в переменную (ранее объявленную)
strr:: start=document.cookie.indexOf(str1); end
=document.cookie.indexOf("endOfSecret"); strr=document.cookie.substring(start+str1.length,
end); 5)
Но может так оказаться, что там пустое значение. Если это так, то мы просто
возвращаем поле ввода имени(как и ранее) 6) Если там что-то написано, то мы
возвращаем ему приветствие с его же именем НО!!! также мы передаем скрытое поле
со значением его имени(<input type=hidden name=input
value=Имя>) сделано это для того, что бы при нажатии ссылки
"войти", не возникало никаких проблем (при нажатии на ссылку ВСЕГДА
вызывается ф-ция DoCookies с параметром "значение поля с именем input из
формы Form1", а если при возврате "правильного" приветствия мы не
вернем такое поле с таким именем, то броузер заорет, что такого объекта нету и
функция не доарботает до конца и не отшлет нас на main.html!!!!) 7)return
str2; - это возврат этого самого текста
Далее я описал код HTML с
которым будут взаимодействовать ф-ции из файла cookies.txt, но что бы они
взаимодействовали надо их прикрепить к
странице:: <script
type="text/javascript" language="JavaScript"
src="cookie.txt"></script> а
засунуть его надо между тегами <head>...</head>
Так, значит
файл прикрепили, функции разобрали; осталось только ссылки воткнуть и форму
Form1
<body
onload="window.document.all["Form1"].innerHTML=DoCookies();">
... <form name="form1" > </form> <a
href=""
onclick="SetCookies(window.Form1.input.value);">enter
sight(войти)</a> <a href=""
onclick="SetCookies('')"> forget me(забыть
меня)</a> форма
сначала пустая, но после загрузки загрузки <BODY> в нее вываливается
(innerHTML) то, что наша ф-ция нашла в кеше(в нашей куке) /////////затем идут
2 ссылки::
1)первая запихивает в SetCookies текущее значение поля input в
форме и отправляет нас на main.html (или index.html) 2)вторая запихивает в
SetCookies пустую строку (а-ля "забудь меня") и ф-ция, соответственно
отправляет нас на index.html(а-ля обновление)
Вот, собственно оно и все,
как работает можно посмотреть на fotogallery.by.ru