Browser bus
This was supposed to give you seamless (offline) communication across a browser instance. Unfortunately it does not work in Safari due to the current security model.
If you just need cross-window/tab communication see browser-bus.
var bus = relay: 'https://srcagency.github.com/browser-bus/relay.html'; bus; bus;
The techniques used are:
-
postMessage
for cross-originA limitation of the
postMessage
API is that you need a reference for the window you are in contact with, meaning it only works with iframes, popups and windows you open from the origin. -
localStorage
for cross-window/tabHas opposite traits of the
postMessage
API: does not need a reference to the receiver, as it is domain-wide by default, but has no cross-domain capabilities.
Interface
var bus = // if you need offline communication, use techniques to make the relay // available offline as well relay: 'https://srcagency.github.com/browser-bus/relay.html'; // write a message to the bus. Any JSON value is supported via JSON.stringify.bus; bus; // `fn(message)` will be called for each received message