Почему не работает событие storage?
Имеется страница на которой при клике на определенную кнопку в localStorage перезаписываются данные.
Есть вторая страница к которой подключен отдельный файл .js в котором прописан следующий код:
window.addEventListener('storage', function() {
alert(1)
})
Но событие ни в какую не срабатывает. Даже если я вручную удаляю или добавляю данные.
P.S. Я проверил на другие события, типа click, и они работают на этой странице, т.е. с подключением файла проблем нет.
В чем может быть проблема, я предполагаю, что это может быть из-за того, что .js файл в котором обновляется стор подключен к обеим страницам (файл с обработчиком подключен ко второй странице отдельно)
Ответы (1 шт):
В чем может быть проблема
Октройте в браузере две закладки - с разными страницами или с одной и той же. В первой закладке выполните действия, приводящие к записи в 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.