Fehler beim Erstellen der Benachrichtigung: Illegaler Konstruktor

9

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.

    
SignalRichard 21.04.2015, 14:17
quelle

2 Antworten

5

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%
    
Gaunt Face 28.04.2015 09:39
quelle
-1

Ich bekomme das auch seit Chrome 42. Hier ist mein Code:

Ссылка

    
user1397423 27.04.2015 12:13
quelle