Nerdy Programmers Mingling

    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

    Install

    npm i storage-emitter

    DownloadsWeekly Downloads

    1,291

    Version

    2.0.1

    License

    MIT

    Last publish

    Collaborators

    • alekseykulikov