Browser-Feature: Service Workers

Heute an dieser Stelle etwas über Service Workers. Dieses Feature ist zwar neu, werkelt aktuell in so ziemlich jedem Browser (Firefox ab Version 44, Chrome ab Version 40, Edge ab Version 17, Safari ab Version 11.1 und Opera ab Version 27). Ich habe lange nach einer brauchbaren, guten Erklärung gesucht. Fündig geworden bin ich bei Dr.Web

Dort steht dass Javascript bisher nur solange wie eine Webseite im Tab geöffnet war ausgeführt wurde. Mit dem Schließen dieser Website durch Schließen des Browser-Tabs oder des Fensters wurden auch sämtliche ausgeführten JavaScripts beendet. Die neuen Service Worker erlauben es jedoch eine JavaScript auch dann auszuführen, wenn die dazugehörige Website gar nicht geöffnet ist.

Damit lässt sich schon einiges anstellen. Bisher habe ich mich immer gefragt wie das mit den Push-Benachrichtigungen funktioniert. Jetzt weis ich das.

Was man mit Service Worker anstellen kann

  • Speichern von Webseiteninhalt ohne die Seite aufgerufen zu haben. Die aktuellste Seite steht dann auch ohne Netzwerkverbindung zur Verfügung.
  • Ist die Grundlage für Push-Notification
  • Erlaubt zu erkennen wenn kein Netzwerk zur Verfügung steht. Kann dadurch das Laden des neuen Inhalts verschieben.

Service Worker in Firefox löschen

Firefox about:serviceworkers

Für diese neuen Service Worker stellt Firefox eine neuen about-Seite bereit. Die installierten Service-Worker lassen sich dort per about:serviceworkers aufrufen. Um sie wieder los zu werden geht man wie folgt vor.

  1. Dienst über about:serviceworkers abmelden
  2. Über about:preferences#privacy den Cache leeren
  3. Per Strg+F5 Seite neu laden.

Service Workers in Firefox deaktivieren

Jetzt kann ja jeder selber eine Meinung zu diesem Feature haben. Für mich sind die Dinger für die bei mir verhassten Benachrichtigungen zuständig. Auch die anderen Einsatzzwecke brauche ich nicht. Und überhaupt brauche ich solche Service Workers nicht. Deshalb habe ich sie in Firefox per about:config deaktiviert. Es genügt dort den Schlüssel dom.serviceWorkers.enabled auf false zu stellen.

Service Worker in Chromium basierten Browsern löschen

Edge serviceworker-internals

Auch in Chromium basierten Browsern lassen sich einzelne Service Worker löschen. Die entsprechende Seite kann, egal ob Chrome, Edge, Vivaldi oder Opera mit chrome://serviceworker-internals aufgerufen werden. Dort lässt er sich über „Unregister“ löschen.

Weiterführende Links

Titelfoto simplu27 auf Pixabay

Schreibe einen Kommentar

Diese Funktion speichert ihre Daten. Mehr dazu in der Datenschutzerklärung.