Service worker hello world

The following service worker gets a ping message and responds to it with “pong”:

self.addEventListener("message", (ev) => ev.source.postMessage("pong"));

I’m hosting this service worker at /service-worker.js. This page registers that service worker as its controller, wait for the service worker to be ready, then send it a “ping” message:

if (window.navigator && window.navigator.serviceWorker) {
  window.navigator.serviceWorker.addEventListener("message", (ev) => console.log("Received message:",;
  window.navigator.serviceWorker.ready.then((reg) =>{"method":"ping"}));

Open the JavaScript console. You should see:

Received message: pong
I just released Vidrio, a free app for macOS and Windows to make your screen-sharing awesomely holographic. Vidrio shows your webcam video on your screen, just like a mirror. Then you just share or record your screen with Zoom, QuickTime, or any other app. Vidrio makes your presentations effortlessly engaging, showing your gestures, gazes, and expressions. #1 on Product Hunt. Available for macOS and Windows.

With Vidrio

With generic competitor

More by Jim

Tagged . All content copyright James Fisher 2017. This post is not associated with my employer. Found an error? Edit this page.