Чтение онлайн

на главную - закладки

Жанры

JavaScript. Подробное руководство, 6-е издание
Шрифт:

var all = document.cookie; // Получить все cookies в одной строке

if (all === "") // Если получена пустая строка

return cookies; // вернуть пустой объект

var list = all.split(";”); // Разбить на пары имя/значение

for(var і = 0; і < list.length; i++) { // Для каждого cookie

var cookie = list[і]:

var p = cookie.indexOf("="); // Отыскать первый знак =

var name = cookie, substrings, p); // Получить имя cookie

var value = cookie.substring(p+1); // Получить значение cookie

value = decodeURIComponent(value); // Декодировать значение

cookies[name] = value; // Сохранить имя и значение

}

return cookies;

});

// Собрать имена cookies в массиве

var keys = [];

for(var key in cookies) keys.push(key);

// Определить общедоступные свойства и методы Storage API

// Количество хранящихся cookies

this.length = keys.length; *

// Возвращает имя n-го cookie или null, если n вышло за диапазон индексов

this.key = function(n) {

if (n < О И n >= keys.length) return null;

return keys[n];

};

// Возвращает значение указанного cookie или null,

this.getltem = function(name) { return cookies[name] || null; };

// Сохраняет значение

this.setltem = function(key, value) {

if (!(key in cookies)) { // Если cookie с таким именем не существует

keys.push(key); // Добавить ключ в массив ключей

this.length++; // И увеличить значение length

}

// Сохранить пару имя/значение в множестве cookies.

cookies[key] = value;

// Установить cookie.

// Предварительно декодировать значение и создать строку

// имя=кодированное-значение

var cookie = key + "=" + encodeURIComponent(value);

// Добавить в строку атрибуты cookie

if (maxage) cookie += ";
max-age=" + maxage;

if (path) cookie += ";
path=" + path;

// Установить cookie с помощью свойства document.cookie

document.cookie = cookie;

}

// Удаляет указанный cookie

this.removeItem = function(key) {

if (!(key in cookies)) return; // Если не существует, ничего не делать

// Удалить cookie из внутреннего множества cookies

delete cookies[key];

// И удалить ключ из массива имен.

// Это легко можно было бы сделать с помощью метода indexOf массивов,

// определяемого стандартом ES5.

for(var і = 0; і < keys.length; i++) { // Цикл по всем ключам

if (keys[i] === key) { // При обнаружении ключа

keys.splice(i,1); // Удалить его из массива,

break;

}

}

this.length--; // Уменьшить значение length

// Наконец фактически удалить cookie, присвоив ему пустое значение

// и истекший срок хранения.

document.cookie = key + "=; max-age=0";

};

Поделиться:
Популярные книги

Законы Рода. Том 4

Мельник Андрей
4. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 4

Враг из прошлого тысячелетия

Еслер Андрей
4. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Враг из прошлого тысячелетия

Император Пограничья 8

Астахов Евгений Евгеньевич
8. Император Пограничья
Фантастика:
городское фэнтези
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Император Пограничья 8

Выйду замуж за спасателя

Рам Янка
1. Спасатели
Любовные романы:
современные любовные романы
7.00
рейтинг книги
Выйду замуж за спасателя

Кодекс Охотника. Книга XXXVI

Винокуров Юрий
36. Кодекс Охотника
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXXVI

Путь разума. Том 12

Морфиус
12. Путь Разума
Фантастика:
рпг
уся
фэнтези
сянься
5.00
рейтинг книги
Путь разума. Том 12

Кодекс Охотника. Книга XXVI

Винокуров Юрий
26. Кодекс Охотника
Фантастика:
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXVI

Черный Маг Императора 9

Герда Александр
9. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 9

Черный Маг Императора 19

Герда Александр
19. Черный маг императора
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Черный Маг Императора 19

Меняя маски

Метельский Николай Александрович
1. Унесенный ветром
Фантастика:
боевая фантастика
попаданцы
9.22
рейтинг книги
Меняя маски

Имперец. Том 1 и Том 2

Романов Михаил Яковлевич
1. Имперец
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Имперец. Том 1 и Том 2

Осколки маски

Метельский Николай Александрович
7. Унесенный ветром
Фантастика:
боевая фантастика
альтернативная история
6.71
рейтинг книги
Осколки маски

Натиск

Осадчук Алексей Витальевич
12. Последняя жизнь
Фантастика:
аниме
фэнтези
попаданцы
6.20
рейтинг книги
Натиск

Древесный маг Орловского княжества 13

Павлов Игорь Васильевич
13. Орловское княжество
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества 13