Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Работа над сайтом > DHTML/JS/CSS

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 28.10.2001, 15:33
[subway]design вне форума Посмотреть профиль Отправить личное сообщение для [subway]design Посетить домашнюю страницу [subway]design Найти все сообщения от [subway]design
  № 1  
[subway]design
 
Аватар для [subway]design

Регистрация: Oct 2001
Адрес: в Петербурге
Сообщений: 2,430
По умолчанию !!!! Бесплатная раздача COOKIES !!!!

Этот топик сделан вместо урока, т.к НЕДОЖДЕШЬСЯ пока его опубликуют (как и исходники)

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Приветствие пользователя
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
этот текст надо воткнуть в файл cookie.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;";

if(VV!=""){link="main.html";}else{link="index.html";}

window.location.href=link;
}

var strr;

function DoCookies()
{

var str1="Secret=";
var str2="";

if (document.cookie.indexOf(str1) !=-1)
{
start=document.cookie.indexOf(str1);
end =document.cookie.indexOf("endOfSecret");

strr=document.cookie.substring(start+str1.length, end);

if(strr==""){str2 = 'Welcome to my sight!<br><br>your name: <input maxlength=15 size=20 name=input>';
} else {str2 ='Welcome again, dear '+strr+', to my sight!<input type=hidden name=input value='+strr+'>';}

} else { str2='Welcome to my sight!<br><br>your name: <input maxlength=15 size=20 name=input>'; }

return str2;

}
-----------end of the file cookies.txt-------------

..
..
<form name="Form1" onload="this.innerHTML=DoCookies();">


</form>
<a href="" onclick="SetCookies(window.form1.input.value);">enter sight(войти)</a>

<a href="" onclick="SetCookies('')"> forget me(забыть меня)</a>


теперь разберемся, ЧТО мы написали::

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
__________________
subway.net.ru

Старый 28.10.2001, 16:10
[subway]design вне форума Посмотреть профиль Отправить личное сообщение для [subway]design Посетить домашнюю страницу [subway]design Найти все сообщения от [subway]design
  № 2  
[subway]design
 
Аватар для [subway]design

Регистрация: Oct 2001
Адрес: в Петербурге
Сообщений: 2,430
По умолчанию кому-нибудь нужны плоды моих изысканий??????????

&para;
__________________
subway.net.ru

Старый 30.10.2001, 13:11
nagash вне форума Посмотреть профиль Отправить личное сообщение для nagash Посетить домашнюю страницу nagash Найти все сообщения от nagash
  № 3  
nagash
Ветеран форума
 
Аватар для nagash

Регистрация: Jul 2001
Адрес: Москва
Сообщений: 3,088
Отправить сообщение для nagash с помощью ICQ
супер...
пасиб

Старый 05.11.2001, 13:08
kirpich вне форума Посмотреть профиль Отправить личное сообщение для kirpich Найти все сообщения от kirpich
  № 4  
kirpich
 
Аватар для kirpich

Регистрация: Mar 2001
Адрес: Екатеринбург
Сообщений: 136
Отправить сообщение для kirpich с помощью ICQ
А можно поподробней, что должно быть в main.html и index.html?
__________________
Спасибо

Старый 05.11.2001, 15:24
[subway]design вне форума Посмотреть профиль Отправить личное сообщение для [subway]design Посетить домашнюю страницу [subway]design Найти все сообщения от [subway]design
  № 5  
[subway]design
 
Аватар для [subway]design

Регистрация: Oct 2001
Адрес: в Петербурге
Сообщений: 2,430
По умолчанию ответ

в index.html вставляется cookies.txt , форма с приветствием
в main.html находится главная страница
__________________
subway.net.ru

Создать новую тему   Часовой пояс GMT +4, время: 19:31.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 19:31.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.