JavaScript HTML5 Master/Slave Browser Tabs Helper.
See a brief look on the homepage
Documentation available on http://dueljs.readthedocs.org/
######New in 1.2.5:
- Different variables for each channel (setItem, getItem, removeItem)
######New in 1.2.4:
- New storage methods setItem, getItem, removeItem with JSONify inside
- Direct localStorage changed to window.localStorage
- Fixed emit bug (arguments)
- New configuration duel.noWarnings
/** Turn off errors for debug */
duel.noWarnings = false;
/** New storage methods example */
var ch = duel.channel('demo');
ch.setItem('x', 10);
ch.setItem('y', {'a': true});
ch.getItem('x'); // 10
ch.getItem('y'); // Object {'a': true}
######New in 1.2.3:
- UMD compatible (thanks to RasCarlito [email protected])
- Microsoft Edge attested (thanks to toby11)
######New in 1.2.2:
- Fixed some additional bugs (extra-release)
######New in 1.2.1:
- Fixed #5: localStorage - stack overflow problem (thanks to Alex Core [email protected])
######New in 1.2.0:
- New method: channel.off - stop watching event
- New method: channel.once - executing callback only one time and stop watching event
- New method: channel.emit - the alias of channel.broadcast
- Function window.isMaster() now returns true even if no one channel has initialized #3
- Dev test coverage (Mocha + PhantomJS)
######New in 1.1.0:
- "storage" event improves performance in modern browsers. To turn it off and use old method - do:
duel.useStorageEvent = false; // auto false in IE
- Now only slaves can execute triggers
- Some unimportant bug fixes
######List of attested browsers:
- Opera 29.0.1795.35 (with storage event)
- Chrome 41.0.2272.118 (with storage event)
- Firefox 34.0 (with storage event)
- Internet Explorer 11 (without storage event)
- Safari 534.57.2 (with storage event)
- Android 4.3 LT29i default browser (with storage event)
- Microsoft Edge 25.10586.0.0 (with storage event)
Internet Explorer does incorrect. So it using force useStorageEvent = false
by default.
######How it works with Internet Explorer without storage event? Don't worry. It using setInterval javascript checking.