<MyRusakov.ru />

Программирование на JavaScript с Нуля до Гуру 2.0

Программирование на JavaScript с Нуля до Гуру 2.0

Данный курс научит Вас программировать на языке JavaScript, который крайне желательно знать любому уважающему себя программисту. Курс состоит из 8 разделов, в которых Вы с нуля освоите этот язык и сможете создавать самые разные программы для самых разных задач любой сложности. В курсе Вы получите всю необходимую теоретическую часть, а также увидите массу практических примеров, в том числе, и из моей практики.

Дополнительно, почти к каждому уроку идут упражнения.

Помимо самого курса Вас ждёт ещё 5 бесплатных ценных Бонусов: «Библиотека jQuery», «Защита JavaScript-кода от копирования», «Решение упражнений из курса», «HTML для начинающих» и «CSS для начинающих».

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Работа с LocalStorage на примере

Работа с LocalStorage на примере

LocalStorage - это локальное хранилище данных прямо в браузере клиента. Иногда нужно между перезагрузками страниц, сохранять пользовательские настройки, чаще всего для элементов формы, корзины с товарами. Чтобы при повторном заходе на сайт, пользователю не нужно было бы все заново настраивать.

Доступ в браузере к localStorage

Использует или нет сайт встроенное хранилище данных, можно увидеть в консоли разработчика, во вкладке Application / Local Storage, предварительно нажав F12. На скриншоте у сайта booking.com, мы видим какие-то данные в виде характерной для массивов записи ('key': 'value').

Работа с объектом LocalStorage на примере.

Объект localStorage

С точки зрения программирования на JS, localStorage - это встроенный в браузер объект, который может хранить различные данные. Объект localStorage - это свойство глобального объекта window. В этом можно легко убедиться, если вывести в консоль команду.

console.log(window);
Работа с объектом LocalStorage на примере.

Где использовать localStorage

Например, пользователь установил настройки в магазине и при повторном заходе, ему уже не нужно этого делать заново. Если посетитель не досмотрел видео до конца, то продолжить просмотр он может с того самого места, где остановился. Использование технологии localStorage, даёт нам такие возможности.

Размер localStorage

Размер хранилища данных составляет 5 Mb. Этого более, чем достаточно для обслуживания одного домена.

Работа с localStorage

В LocalStorage можно сохранять, добавлять, удалять и получать данные. Работа с localStorage напоминает работу с объектами в JS, у него конечно есть свои методы . Метод setItem запишет новый элемент в объект, состоящий из пары ('ключ', 'значение').

localStorage.setItem('age', '25')

В application появилась эта пара. И более того, при перезагрузке страницы, данные сохраняются. Если добавленный ключ уже существует, то его значение перезапишется на новое.

Работа с объектом LocalStorage.

Следующий метод getItem получит значение ключа.

localStorage.getItem('age');

Для удаления элемента из хранилища, достаточно указать метод removeItem и передать в параметрах ключ.

localStorage.removeItem('age')

Как очистить localStorage

Метод clear() очищает все хранилище.

localStorage.clear()

Пользователь также может очистить localStorage, но только в пределах одной сессии, нажав на иконку Clear All. После перезагрузки страницы, все данные снова появятся во вкладке. В этом нет ничего удивительного, ведь через браузер нельзя поменять код сайта. JavaScript заново наполнит хранилище данными.

Пример использования localStorage

В нашей логин форме имеется поле checkbox. Если пользователь при первом заходе на сайт, поставит галочку "Запомнить меня", то при повторных заходах, уже не нужно вводить данные в форму.

Работа с объектом LocalStorage на примере.

Обработчик события отследит, когда построится DOM-дерево. Только после этого начнет выполняться JavaScript код. Первым делом получим инпут и положим его в переменную checkbox. Повесим ещё один обработчик события на инпут и будем отслеживать, когда произойдет событие клика. Пользователь кликнет внутри чекбокса и поставится галочка. Это стандартное поведение чекбокса.

<input type="checkbox" class="rememberMe">

window.addEventListener('DOMContentLoaded', function(){
    let checkbox = document.querySelector('.rememberMe');
    checkbox.addEventListener('click', function(){
        localStorage.setItem('isChecked', 'true');
    })
})

Пользователь нам говорит, запомните меня. Для фиксации состояния checked, нам и нужен localStorage, выполняющий, по сути функцию базы данных. С помощью метода setItem запишем, что состояние onChecked - true, является истиной.

В хранилище localStorage записалась пара (ключ, значение). При каждом заходе пользователя на сайт, поле с чекбоксом всегда будет активным.

Работа с объектом LocalStorage на примере.

Однако в этом коде не хватает проверки. Есть одна проблема. При обновлении страницы галочка пропадает. Пускай визуальное отсутствие галочки не влияет на работу localStorage, но все равно этот косяк надо исправить. Пропишем условие: получим значение onChecked из хранилища и если оно равно true, то мы устанавливаем checkbox в отмеченное положение.

if(localStorage.getItem('onChecked') === 'true'){
    checkbox.checked = true;
};

Пропишем код целиком.

window.addEventListener('DOMContentLoaded', function(){
    let checkbox = document.querySelector('.rememberMe');
    if(localStorage.getItem('onChecked') === 'true'){
        checkbox.checked = true;
    }
    checkbox.addEventListener('click', function(){
        localStorage.setItem('onChecked', 'true');
    });
});

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.