Почему не работает событие storage?

Имеется страница на которой при клике на определенную кнопку в localStorage перезаписываются данные.

Есть вторая страница к которой подключен отдельный файл .js в котором прописан следующий код:

window.addEventListener('storage', function() {
    alert(1)
})

Но событие ни в какую не срабатывает. Даже если я вручную удаляю или добавляю данные.

P.S. Я проверил на другие события, типа click, и они работают на этой странице, т.е. с подключением файла проблем нет.

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


Ответы (1 шт):

Автор решения: Igor

В чем может быть проблема

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

Это событие - для изменений, сделанных на другой странице.

https://developer.mozilla.org/en-US/docs/Web/API/StorageEvent

A StorageEvent is sent to a window when a storage area it has access to is changed within the context of another document.

→ Ссылка