Всё для сайта.
Воскресенье, 28.04.2024, 17:22
Меню сайта
Категории раздела
Мои статьи [5]
Советы по созданию собственного сайта с нуля [1]
HTML [4]
Веб-дизайн [28]
Раскрутка [45]
разное [1]
новости
Ссылки
  • Администриро... Linux

  • Доска бесплатных объявлений: медицина, красота и здоровье. Каталог медицинских сайтов.

  • Бесплатная раскрутка сайта
  • Счётчик
    Яндекс.Метрика
    Главная » Статьи » HTML

    Cookie - это просто!
    Наверное, вы уже успели заметить, что на сайте установлена система отправки сообщений об ошибках Orfo. Я сначала долго размышлял о том, каким образом известить пользователя о наличии системы на странице. Первая мысль – разместить информацию на главной странице. В общем-то метод показался неплохим, но что если пользователь попадет на сайт в обход главной страницы, скажем, из поиска? В конце-концов, изучив проблему, я пришел к выводу, что без cookie и программирования мне не обойтись…Cookie – что это такое? Это небольшие блоки текстовой информации, которые Web-сервер посылает браузеру, а браузер возвращает неизмененными, когда позже посещает тот же самый Web-сайт или домен. Позволяя серверу читать информацию, которую он послал клиенту раньше, сайт может предоставлять посетителям некоторые услуги, например, представлять сайт в том виде, в котором посетитель его ранее настроил, или разрешать идентифицированным посетителям вход на сайт без ввода пароля. Это не вирус, они не могут ничего прочитать с жесткого диска и не могут переслать данные.Рассмотрим алгоритм решения задачи.если (посетитель впервые на сайте или прошло две недели с момента последнего посещения)
    отобразить сообщениеВот так я представил для себя эту проблему. Обратите внимание – пункты в "если" объединены. Связано это с тем, что в любой из данных ситуации cookie на компьютере пользователя не будет. Почему, можно понять при изучении спецификации – дело в том, что при создании cookie необходимо задать такой параметр, как срок актуальности, после которого cookie будет уже недействителен.Итак, задача сводится к таким действиям:проверить наличие cookie
    если не существует
    вывести сообщение
    создать, установив срок актуальности две неделиПодробнее о том, как можно проверить наличие cookie. Поскольку как таковой функции проверки в Java Script, а я собирался использовать именно его, нет, то выход из ситуации таков – попытаться его прочитать. Если возникнет ошибка – значит его нет.Итак…
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    // name - имя cookie
    // value - значение cookie
    // [expires] - дата окончания действия cookie (по умолчанию - конец текущей // сессии)
    // [path] - путь, где cookie верны (по умолчанию - путь к текущему документу)
    // [domain] - домен, где cookie верны (по умолчанию - домен вызываемого
    // документа)
    // [secure] - бинарная переменная, показывающая, что cookie должны
    // передаваться через защищённое соединение
    // * по умолчанию аргументу присвоено значение null
    // * нулевое значение не требуется присваивать пропущенным переменным
    function setCookie(name, value, expires, path, domain, secure) {
    var curCookie = name + "=" + escape(value) +
         ((expires) ? "; expires=" + expires.toGMTString() : "") +
         ((path) ? "; path=" + path : "") +
         ((domain) ? "; domain=" + domain : "") +
         ((secure) ? "; secure" : "");
    document.cookie = curCookie;
    }
    // name - имя cookie
    // * строка возврата содержит значения необходимого cookie или null при
    // его отсутствии
    function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    else
         begin += 2;
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
        end = dc.length;
    return unescape(dc.substring(begin + prefix.length, end));
    }
    // -->
    </SCRIPT>
    Теперь у нас есть функции для работы с cookie. Работаем…Вот так проблема была мной решена, единственное, что я сделал еще – оформил нахождение cookie отдельной процедурой и затем выделил необходимый скрипт в отдельный файл, оставив в коде страницы только вызов проверяющей функции.Немного о реальном применении cookies. Яркий пример – сайт GameDev.ru. Здесь мы можем установить понравившийся нам стиль отображения информации, и когда мы придем на сайт в следующий раз, мы его в этом стиле и увидим.И еще чуть-чуть об удалении…Возможности удалить cookie вообще-то не имеется, но… Мы можем удалить их косвенно, устанавливая дату истечения срока в прошлом.
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    // * путь и домен по умолчанию присвоены в null и не требуется
    // присваивать этого значения, т.к. cookie может быть прочитан
    // только тем доменом, который его создал
    function deleteCookie(name, path, domain) {
    if (getCookie(name)) {
    document.cookie = name + "=" + 
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
    }
    // -->
    </SCRIPT>
     
    Вот и все. Как вы видите, в cookie и работе с ними нет ничего сложного. Между тем, это довольно мощное средство хранения информации, которое может использоваться независимо от поддержки сервером каких-либо определенных технологий. Вот почему их применение становится уже почти повсеместным.P.S. Кстати, применив вот такую инструкцию, мы можем создать персональный счетчик посещений страницы

    if (!visits) {
         visits = 1;
         alert("Вы здесь впервые.");
    else {
    // увеличить счётчик
         visits = parseInt(visits) + 1;
         alert("Вы здесь " + visits + "-й раз.");
         }
    // сохранить новое значение cookie
    setCookie("was_visited", visits, now);
    Категория: HTML | Добавил: admin68 (13.05.2011)
    Просмотров: 1120 | Комментарии: 4 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Имя *:
    Email *:
    Код *:
    Форма входа
    Поиск
    Поиск по сайту
    жизнь сайта
    Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • наша кнопка
    Copyright MyCorp © 2024Создать бесплатный сайт с uCoz