Beyond The Tab: Executing JavaScript Across Browser Contexts

Keeping JavaScript from interfering across tabs is great, but what about when a web application wants to share state without a server? You’ll leave this talk with enough knowledge to get started with SharedWorkers, ServiceWorkers, and other techniques and enough wisdom to know when to use them.

This talk covered sharing state between tabs — and I’ve released a set of minimalist code samples on GitHub to demonstrate every particular way I can think of to do this. I don’t believe the slides for this talk are particularly useful, but the slides are available on Speaker Deck.

Meet a Muslim: This talk referenced Meet a Muslim as well as 가끔은 고양이와 춤을 춥시다 as a palate cleanser.

Browser Support: Check Jake Archibald’s excellent site, Is ServiceWorker Ready? for browser compatibility information.

Push Notifications: The demo for push notifications shown during the talk is available on GitHub. For more information about sending notifications to users through the Push API, check out Using the Push API on MDN.

Background Sync: For more information on syncing web applications in the background, see this blog post on, complete with a link to a chameleon popping bubbles.

ServiceWorker Demos: For more demos of usage possibilities of ServiceWorker, see w3c-webmob/ServiceWorkersDemo on GitHub.

Microsoft Edge: Many of the examples given in this talk were not available for use in Microsoft Edge. Their platform status, including ServiceWorker is publicly available.

Browser Sandboxes: For more information about browser sandboxes, check out the Chromium Sandbox Documentation (Chromium is the open-source project behind Google Chrome and ChromeOS) and The Security Architecture of the Chromium Browser.

Thanks for listening!