Meine Website verwendet Desktopbenachrichtigungen, die noch nie auf Mobilgeräten funktioniert haben. In Chrome Version 42.0.2311.108 unter Android 4.4 habe ich jedoch kürzlich die folgende Ausnahme erhalten:
%Vor%Mein Benachrichtigungscode ist einfach. Nachdem ich überprüft habe, ob der Benutzer Berechtigungen erteilt hat, initialisiere ich ein neues Benachrichtigungsobjekt wie folgt:
%Vor% Wie kann ich diesen Code ändern, um die ServiceWorkerRegistration.showNotification zu verwenden, die als undefined
angezeigt wird, um Benachrichtigungen in der mobilen Chrome-Version zu unterstützen oder, wenn dies nicht möglich ist, eine Feature-Erkennung durchzuführen und Ausnahmen zu verhindern wenn dies [noch] nicht wirklich unterstützt wird.
Weitere Informationen finden Sie crbug.com/481856 im Chrome-Problem-Tracker:
>
new Notification()
ist auf dem Weg zur Vernachlässigung , da implizit angenommen wird, dass die Seite die Benachrichtigung überlebt , was auf Mobilgeräten sehr unwahrscheinlich ist (und auf dem Desktop auch nicht garantiert ist).Daher werden wir es nie auf Android implementieren. Wir könnten es eines Tages auch nach einer Abnutzungsfrist auf dem Desktop entfernen.
Websites sollten stattdessen
ServiceWorkerRegistration.showNotification()
( siehe Spezifikation ) verwenden, wenn sie verfügbar ist.Der beste Weg, um% ce_de% feature-detect zu finden, besteht darin, es zu versuchen ( vor Sie haben die Berechtigung) und den Fehler abzufangen:
%Vor%Sie könnten es dann so verwenden:
%Vor%
Tags und Links javascript android google-chrome mobile html5-notifications