Встречается на собеседованиях • сегодня

Как синхронизировать данные между вкладками

Для синхронизации данных между вкладками можно использовать несколько подходов:

  1. LocalStorage/SessionStorage + событие storage
    При изменении данных в одной вкладке срабатывает событие storage в других вкладках:
    javascript
    window.addEventListener('storage', (event) => {
      if (event.key === 'sync-data') {
        console.log('Данные обновлены:', event.newValue);
      }
    });
  1. BroadcastChannel API
    Позволяет напрямую обмениваться сообщениями между вкладками:

    javascript
    const channel = new BroadcastChannel('data-sync');
    channel.postMessage({ type: 'update', data: newData });
    channel.onmessage = (e) => console.log(e.data);
  2. SharedWorker (для сложных сценариев)
    Общий воркер, который может координировать состояние между вкладками.

Важно:

  • LocalStorage ограничен ~5MB и работает только в рамках одного домена.
  • BroadcastChannel не поддерживается в IE.
  • Для реального времени лучше использовать WebSockets, если нужна синхронизация между устройствами.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы