Последние учебники веб-разработки
×

JS Руководство

JS ГЛАВНАЯ JS Введение JS Куда JS Вывод JS Синтаксис JS Заявления JS Комментарии JS переменные JS операторы JS арифметика JS присваивание JS Типы данных JS функции JS Объекты JS Объем JS Мероприятия JS Строки JS Методы струнных JS чисел JS Методы Number JS математический JS Даты JS Форматы даты JS Методы Дата JS Массивы JS Методы массивов JS Booleans JS Сравнения JS условия JS переключатель JS петля For JS В то время как Loop JS Ломать JS Тип преобразования JS RegExp JS ошибки JS отладка JS Подъемно JS Строгий режим JS Гид по стилю JS Лучшие практики JS Ошибки JS Представление JS Зарезервированные слова JS JSON

JS формы

Формы проверки Формы API

JS объект

Определения объектов Свойства объекта Методы объекта Прототипы объектов

JS функции

Определения функций Функциональные параметры Функция Призвание Функция Затворы

JS HTML DOM

DOM вступление DOM методы DOM Документ DOM элементы DOM HTML DOM CSS DOM Анимации DOM Мероприятия DOM EventListener DOM навигация DOM Вершины DOM Nodelist

JS браузер BOM

JS Window JS Screen JS Location JS History JS Navigator JS Popup Alert JS Timing JS Cookies

JS Примеры

JS Примеры JS HTML DOM JS HTML вход JS HTML Объекты JS HTML Мероприятия JS браузер JS викторина JS Резюме

JS Рекомендации

JavaScript Объекты HTML DOM Объекты


 

JavaScript Cookies


Cookies позволяют хранить информацию о пользователях в веб - страницах.


Что такое Cookies ?

Cookies являются данные, которые хранятся в небольших текстовых файлов, на вашем компьютере.

Когда веб-сервер посылает веб-страницу в браузере, соединение отключается, и сервер забывает все о пользователе.

Cookies были изобретены , чтобы решить эту проблему "как запомнить информацию о пользователе":

  • Когда пользователь посещает веб - страницу, его имя может храниться в cookie .
  • В следующий раз пользователь посещает страницу, то cookie "запоминает" его имя.

Cookies сохраняются в пар имя-значение, как:

username = John Doe

Когда браузер запрашивает веб - страницу с сервера, cookies , принадлежащие к странице добавляется к запросу. Таким образом, сервер получает необходимые данные "запоминать" информацию о пользователях.


Создать a Cookie с JavaScript

JavaScript может создавать, читать и удалять cookies с document.cookie собственности.

С помощью JavaScript, a cookie может быть создан следующим образом :

document.cookie = "username=John Doe";

Вы можете также добавить дату истечения срока действия (во времени UTC). По умолчанию, the cookie удаляются при закрытии браузера:

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC";

С параметром пути, вы можете сообщить браузеру , какой путь the cookie принадлежит. По умолчанию, the cookie принадлежит к текущей странице.

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";

Читайте a Cookie с JavaScript

С помощью JavaScript, cookies можно прочитать следующим образом :

var x = document.cookie;

document.cookie будет возвращать все cookies в одной строке так же, как: cookie1=value; cookie2=value; cookie3=value; cookie1=value; cookie2=value; cookie3=value;


Изменение a Cookie с JavaScript

С помощью JavaScript, вы можете изменить a cookie точно так же , как вы создаете его:

document.cookie = "username=John Smith; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";

Старое cookie будет перезаписана.


Удалить a Cookie с JavaScript

Удаление a cookie очень просто. Просто установите параметр истекает в пройденный дате:

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC";

Обратите внимание , что вы не должны указывать a cookie значение при удалении a cookie .


Cookie Строка

document.cookie свойство выглядит как обычный текстовой строки. Но это не так.

Даже если вы написать целую cookie строку document.cookie , когда вы читаете его снова, вы можете увидеть только пара имя-значение этого.

Если вы установили новый cookie , старые cookies не будут перезаписаны. Новое cookie добавляется к document.cookie , так что если вы читаете document.cookie снова вы получите что - то вроде:

cookie1 = value; cookie2 = value;

фото

Если вы хотите , чтобы найти значение одного указанного cookie , вы должны написать функцию JavaScript , который ищет для cookie значения в cookie строки.


JavaScript Cookie Пример

В примере для подражания, мы создадим a cookie , которое хранит имя посетителя.

Первый раз, когда посетитель приходит на веб-страницу, он будет предложено заполнить его имя. Название затем хранится в a cookie .

В следующий раз, посетитель приходит на той же странице, то он получит приветственное сообщение.

Для примера мы создадим 3 функции JavaScript:

  1. Функция для установки cookie значение
  2. Функция , чтобы получить cookie значение
  3. Функция для проверки cookie значение

Функция для Установить a Cookie

Во- первых, мы создаем функцию , которая хранит имя посетителя в a cookie переменной:

пример

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+ d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}

Объяснение примера:

Параметры функции выше, имя cookie (cname) , значение the cookie (cvalue) , а также от количества дней , пока печенье не должен истекать (exdays).

Функция устанавливает a cookie путем сложения cookiename , the cookie значение, и истекает строку.


Функция для получения a Cookie

Затем мы создаем функцию , которая возвращает значение указанного cookie :

пример

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i = 0; i <ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length,c.length);
        }
    }
    return "";
}

Функция пояснил:

Возьмите the cookiename в качестве параметра (CNAME).

Создание переменной (имя) с текстом для поиска (CNAME + "=").

Split document.cookie на точку с запятой в массиве называется ca (ca = document.cookie.split(';')) .

Цикл через ца array (i=0;i<ca.length;i++) , и зачитать каждое значение c=ca[i]) .

Если the cookie обнаружен (c.indexOf(name) == 0) , возвращает значение the cookie (c.substring(name.length,c.length) .

Если the cookie не найден, вернитесь "".


Функция для проверки a Cookie

Наконец, мы создаем функцию , которая checks , если a cookie установлен.

Если the cookie установлен он будет отображать приветствие.

Если the cookie не установлен, он будет отображать окно быстрое, запрашивающее имя пользователя и сохраняет имя пользователя cookie в течение 365 дней, путем вызова setCookie функции:

пример

function checkCookie() {
    var username=getCookie("username");
    if (username!="") {
        alert("Welcome again " + username);
    } else {
        username = prompt("Please enter your name:", "");
        if (username != "" && username != null) {
            setCookie("username", username, 365);
        }
    }
}

Все вместе сейчас

пример

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}

function checkCookie() {
    var user = getCookie("username");
    if (user != "") {
        alert("Welcome again " + user);
    } else {
        user = prompt("Please enter your name:", "");
        if (user != "" && user != null) {
            setCookie("username", user, 365);
        }
    }
}
Попробуй сам "

Приведенный выше пример запускает checkCookie() функцию при загрузке страницы.