storage-emitter

2.0.1 • Public • Published

storage-emitter

Emit events between browser tabs.

It's a small wrapper around window.onstorage event, which is a part of WebStorage specification and available in IE8+ browsers.

It works like a regular instance of EventEmitter, with the only difference that event is fired in all open tabs for same domain.

Possible applications:

  • perform logout in all open tabs
  • sync in-memory objects between browser tabs, like swarm.js
  • polyfill indexeddb.onversionchange event in Safari

Example

import sEmitter from 'storage-emitter'
 
// listen to "logout" event
 
sEmitter.on('logout', () =>
  location.reload()
})
 
// call "logout" from another tab
 
sEmitter.emit('logout')

Installation

$ yarn add storage-emitter
$ npm i -S storage-emitter

API

sEmitter.on(event, callback)

Subscribe on event across all open application instances.

sEmitter.emit(event, args)

Emit event with args to all open tabs.

sEmitter.off([event])

Unsubscribe from all events or one specific event.

License

MIT

Package Sidebar

Install

npm i storage-emitter

Weekly Downloads

2,077

Version

2.0.1

License

MIT

Last publish

Collaborators

  • alekseykulikov