Вопрос проверяет понимание механизма синхронизации данных между вкладками браузера с использованием localStorage и события storage.
localStorage — это механизм хранения данных в браузере, доступный для всех вкладок одного домена. Когда одна вкладка изменяет данные в localStorage, браузер автоматически генерирует событие storage в других вкладках того же источника. Это событие содержит информацию о том, какой ключ был изменен, его старое и новое значения, а также URL страницы, вызвавшей изменение.
Для синхронизации нужно добавить слушатель события storage на объект window. Внутри обработчика можно обновить интерфейс или выполнить нужные действия. Вот простой пример:
// Вкладка 1: изменение данных
localStorage.setItem('theme', 'dark');
// Вкладка 2: слушатель события
window.addEventListener('storage', (event) => {
if (event.key === 'theme') {
console.log('Тема изменена на:', event.newValue);
// Обновить интерфейс
document.body.className = event.newValue;
}
});Использование события storage — простой и эффективный способ синхронизации состояния между вкладками без необходимости в серверной части. Это полезно для обновления темы, настроек или данных в реальном времени в многокладочных приложениях.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию