2017-12-31 131 views
3

Angular Team machte einen tollen Job und führte Service-Mitarbeiter Unterstützung in der Version 5. Die documentation ist sehr hilfreich und ich kann wirklich sehen, wie die Dinge gleich nach dem Lesen der verwandten funktioniert Artikel, jedoch gibt es ein Thema, das dort nicht behandelt wird. Wie funktioniert das alles in den Browsern, die Service-Mitarbeiter nicht unterstützen?Angular Service Worker auf den Browsern, die es nicht unterstützen

Dies ist, was gesagt wird:

Ihre Anwendung in einem Web-Browser ausgeführt werden muss, die Service Arbeiter unterstützt. Derzeit werden die neuesten Versionen von Chrome und Firefox unterstützt. Weitere Informationen zu anderen Browsern, die als Service Worker bereit sind, finden Sie auf der Seite Kann ich verwenden.

Kann ich Shows quite a poor support der Funktion in relativ wichtigen Browsern verwenden. Ich kann den nicht funktionierenden IE11 überleben, aber Safari (besonders mobile) möchte ich nicht unterstützen.

Also, meine Absicht wäre zu wissen, wie das eckige Service Worker-Modul, Dienste, Ereignisse diese Dienste usw. auf dem Browser verhalten, dass nicht unterstützt Service-Mitarbeiter.

Werden alle nur stumm ausfallen? Werden die Ereignisse trotzdem ausgelöst? Wird die ngsw-worker.js angefordert werden? Wird etwas in IndexedDB anstelle von Service Worker zwischengespeichert?

Die Lösung sieht cool aus, aber ich kann die Frage nicht beantworten sollte ich es verwenden? bis ich die Antworten auf die obigen Fragen kenne.

Antwort

0

The official response

Die Winkel SW funktioniert nur in Browsern, die Service-Mitarbeiter unterstützen. Dies umfasst die gesamte Anwendungsintegration (z. B. den SwUpdate-Dienst).

Wenn SW im aktuellen Browser nicht unterstützt werden.

  • Das SW-Skript und ngsw.json werden niemals heruntergeladen.
  • Aktive Versuche, mit der SW zu interagieren, z. B. Aufruf -
  • SwUpdate.checkForUpdate() wird abgelehnte Versprechen zurückgeben.
  • Passive Versuche, SW Observables wie SwUpdate.available zu hören, werden einfach nie ausgelöst - die Observables werden niemals senden.
0

Grundsätzlich werden Browser, die Service-Mitarbeiter nicht unterstützen, automatisch fehlschlagen. Alles, was im Hintergrund mit der SW verbunden ist, wie Offline-Caching und Push-Benachrichtigungen, funktioniert nicht. Die Website funktioniert immer noch wie jede andere Website, nur dass die Funktionen und Funktionen von PWA nicht funktionieren.

+0

Haben Sie Beweise? – smnbbrv

+0

Spielen Sie mit [Elementen] (https://elements.infiniteimaginations.co/) und anderen PWAs [hier] (https://pwa.rocks/) herum. Öffnen Sie es in einem iOS-Gerät, um zu sehen, wie es geht. Für Elemente verfügt es über Offline-Caching. In Android sollte es offline funktionieren. In iOS-Geräten wird es nichts anzeigen. – oninross

+0

Das ist gut, aber 1. Wenn ich etwas ausprobieren wollte, hätte ich es schon getan ... 2. Es klingt nicht zukunftssicher, weil es nicht von eckigen Teams bestätigt wird ... – smnbbrv