<MyRusakov.ru />

Написание лайфхаков на Python

Написание лайфхаков на Python

Данный курс научит Вас автоматизировать самые разные задачи на языке Python, благодаря чему Вы сэкономите на рутине тысячи и тысячи часов своей жизни. Курс состоит из 20 примеров в различных областях: файлы и директории, медиа-файлы, Интернет, Web-мастеринг, Unreal Engine. Каждый пример упрощает ту или иную задачу в своей области, при этом каждый из них создаётся прямо на Ваших глазах и тщательно комментируется.

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

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

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

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

Подписавшись по 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):

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