Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't find serviceWorker in navigator anymore

since the new update of Google Chrome (version 69.0.3497.92 (official build) (64-bit)) I can't find the serviceWorker service in the Navigator anymore. Actually I could register my Service Worker as follows but now I get an error that serviceWorker cannot be found in the navigator:

if('serviceWorker' in navigator) {     /*     *     * Register the Service Worker     *     * */     navigator.serviceWorker.register('sw.js').then(function(registration) {         console.log('Service Worker Registered');     });  } else console.log('Your browser does not support the Service-Worker!'); 

How can I now use the Service Worker again, or how can I get it to run again for all Chrome versions?

like image 250
Dieter Information Avatar asked Sep 12 '18 15:09

Dieter Information


People also ask

Why Navigator serviceWorker is undefined?

serviceWorker is undefined or navigator. serviceWorker. register is returning "Cannot read property 'register' of undefined" it's likely the issue is that the Service Worker is not running in a secure context. Service workers are required to run in a Secure Context (MDN Chromium), i.e. localhost and/or https .

What is serviceWorker in Navigator?

serviceWorker. The Navigator. serviceWorker read-only property returns the ServiceWorkerContainer object for the associated document, which provides access to registration, removal, upgrade, and communication with the ServiceWorker . The feature may not be available in private mode.


1 Answers

Serve your page over HTTPS or use localhost. Service workers require a Secure Context.

(MDN page, Chromium page).

The value of window.isSecureContext indicates whether [SecureContext] features are visible or hidden. (This is true on a file:// URL and the serviceWorker API will be visible, but it won't work, of course.)

like image 160
Josh Lee Avatar answered Sep 18 '22 17:09

Josh Lee