- Works offline
- Supports push notifications
- Can be installed to the device
Learn more in the Service workers and the Cache Storage API post.
Browser compatibility #
All major browsers except Internet Explorer support service workers. See Browser compatibility.
How the Lighthouse service worker audit fails #
Lighthouse flags pages that don't register a service worker:
Lighthouse checks if the Chrome Remote Debugging Protocol returns a service worker version. If it doesn't, the audit fails.
How to register a service worker #
Registering a service worker involves only a few lines of code, but the only reason you'd use a service worker is to make it possible to implement one of the PWA features outlined above. Actually implementing those features requires more work:
- To learn how to cache files for offline use, see the What is network reliability and how do you measure it? post.
- To learn how to make your app installable, see the Make it installable codelab.
- To learn how to enable push notifications, see Google's Adding Push Notifications to a Web App.
- Source code for Does not register a service worker that controls page and
- Service Workers: an Introduction
- Service workers and the Cache Storage API
- What is network reliability and how do you measure it?
- Make it installable
- Adding Push Notifications to a Web App