2015-05-30 12 views
9

Sieht aus wie Push-Benachrichtigungen endlich für web-apps nutzbar sind! Dies erfordert leider https für ServiceWorker, die nicht alle Seiten haben können.Sind Push-Benachrichtigungen in HTML5 ohne vollständige https-Site möglich?

Eine Sache, die ich in der spec bemerkte es erwähnt:

if r's url's scheme is not one of "http" and "https", then: Throw a TypeError."

Also ich bin verwirrt - kann die Website http, solange sie eine Serviceworker enthält, die von https ist? Zum Beispiel könnte mydomain.com einen https serviceworker von https://anotherdomain.com?

Ein anderer Standard, Web-API simple-push, erwähnt nicht, https zu erfordern (wahrscheinlich eine Auslassung in der Dokumentation?), Und "Die Benutzererfahrung auf Firefox Desktop wurde noch nicht ausgezogen". Ist die Dokumentation hierzu veraltet, oder wird Push wirklich nur in FirefoxOS unterstützt?

+0

ist das möglich Servicearbeiter von https? –

Antwort

0

Der Text aus der spec zitiert ist aus the Cache.addAll() section (5.4).

Hier ist die Zusammenfassung des addAll() auf MDN:

Die addAll() Methode der Cache-Schnittstelle eine Reihe von URLs nimmt rufen sie und fügt die resultierenden Antwortobjekte dem angegebenen Cache hinzu. Die während des Abrufs erzeugten Anfrageobjekte werden zu Schlüsseln für die gespeicherten Antwortoperationen.

Service-Mitarbeiter können & Cache URLs beantragen, die entweder HTTP oder HTTPS, sondern ein Service-Arbeiter selbst kann nur in seinen registrierten Scope arbeiten (die HTTPS sein muss).


simple-push steht nicht im Zusammenhang mit Service-Mitarbeitern; es scheint zu den Ansätzen vergleichbar andere Plattformen getroffen haben:

1

Simple-Push, das ist die aktuelle Push-Lösung in Firefox OS nichts mit ServiceWorkers zu tun hat .

Die nächste Generation der Push wird durch ServiceWorkers werden von Google und Mozilla implementiert getan:

ja in diesem Fall Ihre Inhalte HTTPS werden müssen, bedient über.

Wahrscheinlich werden Sie in der LetsEncrypt Initiative interessieren:

Eine neue Zertifizierungsstelle, die Entwickler helfen, ihre Inhalte über HTTPS zu überführen.

Auch nur für die Entwicklung, beide Google und Mozilla-Implementierungen von ServiceWorker können Sie die Überprüfung der sicheren Inhalte umgehen, wenn Sie gegen localhost entwickeln. Im Fall von Mozilla Sie die Flagge aktivieren:

devtools.serviceWorkers.testing.enabled: true 

Aber auch hier wird dies nur für die Entwicklung sein, und AFAIK, Mozilla Push gelandet oder im Begriff ist, zu landen und in dem nächtlichen verfügbar sein wird, baut

+0

So ist man aktuell ... aber nur in FirefoxOS ist man "Next-Generation" von Push-Fähigkeit, und ist HTTPS-only und nur in Chrome ...? – NoBugs

+0

die 'next-generation', wird nur https sein, wird aber von gecko und blink unterstützt (was Firefox, Chrome und Opera bedeutet) –

+0

Diese Antwort ist falsch und ändert 'devtools.serviceWorkers.testing.enabled: true' hat keine Auswirkung auf den Fehler 'Die Operation ist unsicher'. –

1

Nein, die neue Generation von Push-Benachrichtigungen (dh Push API) erfordert HTTPS:, können Sie die Arbeit hier folgen.

Wenn Sie einer Website ohne HTTPS Push-Benachrichtigungen hinzufügen müssen, können Sie einen Drittanbieter-Dienst wie Pushpad verwenden, der Benachrichtigungen in Ihrem Namen übermittelt.