HTML5 EventSource-Listener für alle Ereignisse?

9

Ich habe Push-Benachrichtigungen in meiner JavaScript-Client-App mit EventSource. Ich kann Ereignis-Listener wie folgt anhängen:

%Vor%

Aber ich möchte alle Ereignisse überwachen, die vom Server gepusht werden (grundsätzlich zum Debuggen). Wenn also ein Ereignis gesendet wird, aber kein Ereignis-Listener vorhanden ist, kann ich es leicht finden. Ich meine, ich möchte nicht nur alle Ereignisse "ignorieren", für die keine eventListener gebunden sind.

Ich würde erwarten, so etwas zu tun:

%Vor%

Aber die Spezifikationen und Tutorials wie das in html5rocks geben nicht an, ob dies möglich ist oder nicht.

Auf der anderen Seite kann es eine Firefox- / Chrome-Erweiterung sein, die es erlaubt, alle Server-Ereignisse oder so etwas zu überwachen. Diese Dinge würden wirklich helfen, Push-Benachrichtigungen zu entwickeln.

Danke!

    
tothemario 29.03.2012, 21:12
quelle

3 Antworten

24

Ich finde selbst eine Lösung, die auch die EventSource-Schnittstelle enorm verbessert.

Serverseite : Senden Sie nicht den Ereignistyp, sondern fügen Sie nur ein zusätzliches Datenfeld hinzu (wobei ich immer json verwenden soll). Also statt

%Vor%

Ich sende dies stattdessen vom Server:

%Vor%

Client-Seite : Jetzt kann ich den EventSource onMessage-Callback verwenden, der für jede Nachricht ausgelöst wird, die keinen Ereignistyp hat.

Und für die Bindung von Ereignis-Listenern erstelle ich eine Wrapper-Klasse mit Backbone.Event-Funktionalität. Das Ergebnis:

%Vor%

Jetzt mit dieser Wrapperklasse kann ich die Funktionalität leicht erweitern, alle Server gesendet Ereignisse können leicht überwacht werden und dank der Erweiterung von Backbone.Events ist die Ereignisbehandlung in dieser Klasse viel mächtiger.

Anwendungsbeispiel:

%Vor%

Jetzt habe ich eine Komponente, die einfach zu handhaben, zu erweitern, zu debuggen und zu testen ist.

    
tothemario 30.03.2012 03:50
quelle
0
%Vor%     
gilcierweb 03.05.2014 01:08
quelle
0

Ich weiß, dass dies keine EventSource ist, aber ich habe nach dem gleichen gesucht (eine Möglichkeit, alle eingehenden Ereignisse zu erfassen, ohne ihren Typ zu kennen). Ohne irgendeine Kontrolle über den Server, der diese Ereignisse sendet, habe ich es am Ende nur mit einem XHR geschrieben, falls irgendjemand anderes auf folgendes stößt:

%Vor%     
Trey 22.12.2015 14:58
quelle