Обмен данными между окнами с помощью localStorage

Одно из интересных применений localStorage — обмен данными между несколькими окнами одного сайта, одновременно открытыми в браузере.

Так как хранилище единое для всего домена, то, записав данные на одной странице, можно тут же прочитать их на другой. А чтобы было всё совсем просто, есть событие storage, которое вызывается при любом изменении данных из другого окна.

Пример. Откройте несколько копий этой страницы и попробуйте изменить поле в одной из них — изменения тут же отобразятся во всех копиях страницы.

(Если вместо окна с примером вы видите пустое пространство — откройте исходный пост.)

Пример должен работать в последних версиях всех браузеров, а так же в Firefox 4, Safari 4 и Opera 10.5. Можно даже заставить его работать в IE8, но там событие storage работает иначе: не передаются key, oldValue и newValue.

Вы можете улучшить этот пост, отредактировав его на Гитхабе.

Обо мне

Я живу в Берлине и работаю фронтенд-разработчиком в Хире, а в свободное время фотографирую, пишу, глажу своих собак и пью кофе.

Читайте обо мне на моём сайте и подпишитесь на мой блог о фотографии и твитер.