2.0.1 • Published 7 years ago

storage-emitter v2.0.1

Weekly downloads
356
License
MIT
Repository
github
Last release
7 years ago

storage-emitter

npm.io npm.io npm.io

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