tab-emitter
v1.0.11
Published
An event emitter for same-origin tab communication
Downloads
646
Maintainers
Readme
tab-emitter
An event emitter for same-origin tab communication
tab-emitter
is a client-side javascript module that allows you to send events between browser tabs/windows.
The sending/recieving web pages must have the same origin.
You can not emit events between browsers, only between the same browser.
tab-emitter
is written to work with browserify, and is extremely easy to implement in your code.
Demo
Example
client1.js
var TabEmitter = require('tab-emitter')
var emitter = TabEmitter()
setTimeout(function () {
emitter.emit('hello', { thing: 'world' })
}, 5000)
emitter.on('hello', function (obj) {
console.log(obj.thing) // => 'world'
})
client2.js
var TabEmitter = require('tab-emitter')
var emitter = TabEmitter()
emitter.on('hello', function (obj) {
console.log(obj.thing) // => 'world'
})
Don't use browserify?
If you just want to use this module in the browser without dealing with browserify, here's how you can:
<script src="https://wzrd.in/standalone/tab-emitter@1"></script>
<script>
var emitter = window.tabEmitter()
emitter.on('event', function () {
console.log('event just happened')
})
setTimeout(function () {
emitter.emit('event')
}, 5000)
</script>
API
var TabEmitter = require('tab-emitter')
var emitter = TabEmitter([key])
key
is a key to uniquely identify an emitter across tabs. If the same key is used in multiple tabs, they can communicate with each other.- Returns
emitter
which is anEventEmitter
instance.
Install
With npm do:
npm install tab-emitter