Информация о файлах cookie на этой странице

Наш сайт использует файлы cookie, чтобы обеспечивать его работу, а также собирать и анализировать данные о работе и использовании сайта. Политика конфиденциальности

  • Курсы
    • Discord
    • Twitter
    • Linkedin
    • Facebook
    • Instagram
  • Тарифы
  • English
  • Čeština
  • Deutsch
  • Русский
ВойтиНачать бесплатно
  • Курсы
  • Тарифы

Сообщество

Войти
  
  • Курсы
    • Discord
    • Twitter
    • Linkedin
    • Facebook
    • Instagram
  • Тарифы
  • English
  • Čeština
  • Deutsch
  • Русский
ВойтиНачать бесплатно
  • Курсы
  • Тарифы

Сообщество

Войти

Сохранение бронирований

Забронируйте несколько мест и нажмите «Запустить». Места снова свободны, как будто ничего не было: бронирования хранились только в переменной bookings, а при каждом запуске скрипт начинает с начала, так же как когда посетитель снова открывает страницу.

Настоящий кинотеатр хранит бронирования на своём сервере, где собираются бронирования всех посетителей: место, которое забронировал один посетитель, занято для всех остальных. Для этого нужна программа, которая работает на сервере, а это отдельная тема. Ваша страница хранит бронирования в браузере, в localStorage, как в уроке «Данные с сервера». Тогда посетитель найдёт свои бронирования, когда вернётся.

Вы знаете, как это делается: после каждого изменения сохраняйте массив как JSON-текст с помощью JSON.stringify(), а при открытии страницы читайте его обратно с помощью JSON.parse(), если что-то сохранено:

let bookings = [];

const savedBookings = localStorage.getItem("bookings");
if (savedBookings !== null) {
    bookings = JSON.parse(savedBookings);
}

showSeats() уже ищет занятые места в bookings, поэтому сохранённые бронирования показываются как занятые места, как только они загружены. В предпросмотре кнопка консоли Очистить сохранённые данные удаляет их, и места снова свободны.

Типичные ошибки:

  • Сохранить массив до того, как в него добавлено новое бронирование. После перезагрузки самого нового бронирования не хватает.
  • Сохранить массив без JSON.stringify(). Он сохраняется как текст вроде [object Object], а когда страница открывается снова, JSON.parse() заканчивается ошибкой SyntaxError.

Задание

  1. 1

    После каждого бронирования сохраняйте массив bookings в localStorage под ключом bookings в виде JSON-текста.

  2. 2

    При открытии страницы загружайте сохранённые бронирования, если они есть. Забронируйте несколько мест и нажмите «Запустить»: они остаются занятыми.

Назад

7/8

  1. 1. Расписание из файла
  2. 2. Выбор дня
  3. 3. Выбор сеанса
  4. 4. Места в зале
  5. 5. Выбор мест
  6. 6. Форма бронирования
  7. 7. Сохранение бронирований
  8. 8. Ваши билеты
Далее

Начните программировать бесплатно

Регистрируясь, вы принимаете Условия использования и Политику конфиденциальности.

Или зарегистрируйтесь через: