Did you know you can send information between open browser tabs using JavaScript?
Let's say your user is viewing your site with multiple tabs and ...
For further actions, you may consider blocking this person and/or reporting abuse
I had to implement a similar thing before for a chat application where we stored the chat state in local storage. I went with the
window.addEvenLister('storage')
approach because I had to support IE 11 and Safari.Hope
BroadcastChannel
will get more support on older browsers, it seems nice and simple. :)I made a tiny cross-browser lib (github.com/vitkarpov/tabs-channel) for that. Works even on different domains.
Better than listening to changes on local storage, nice article, thanks.
Sounds like this could be useful for communication between an iframe and its parent window too...
Yep! You can use it to communicate between those as well
The biggest issue is that it does not work with Safari (as you linked). Data sharing between tabs on mobile would not happen often, but on Safari MacOS this solution is a problem.
With some tricks you can use localStorage to achieve a similar effect.
It's probably best I add that to the post, cheers
I've created an JS library that abstracts that away. It uses both broadcastChannel and localStorage. And it has an API for cross-domain communication as well sysend.js. It also works in IE 11, that has some issues (as always).
Hey Dom!
Great article, I wrote something similar last year that you may be interested in as well!
dev.to/naismith/cross-tab-communic...
Nice article - love the live previews
Interesting feature. I suppose a standard messaging API across different contexts makes communication easier compared to trying to find a way to hack things together.