Auditeur HTML5 EventSource pour tous les événements?
J'ai les notifications push dans mon JavaScript application client à l'aide EventSource.
Je peux joindre des écouteurs d'événement comme ceci:
source.addEventListener('my_custom_event_type', function(e) {
console.log(e.data);
}, false);
Mais je veux surveiller tous les événements qui sont en train d'être poussé à partir du serveur (en gros pour le débogage), donc si un événement est envoyé, mais il n'a pas d'écouteur d'événement, je peux facilement le trouver. Je veux dire, je ne tiens pas à "ignorer" tous les événements qui n'ont pas de eventListeners liées.
Je m'attends à faire quelque chose comme ceci:
source.addEventListener('*', function(e) {
console.debug('Event with no listener attached: ', e);
}, false);
Mais la spécification et des tutoriels comme celui de html5rocks ne précisez pas si c'est possible ou pas.
Dans l'autre main, il peut y avoir un firefox/chrome extension qui permet de surveiller tous les événements de serveur ou quelque chose. Ces choses serait vraiment de l'aide sur le développement de notifications push.
Merci!
source d'informationauteur tothemario
Vous devez vous connecter pour publier un commentaire.
J'ai trouver une solution moi-même, cela permet d'améliorer énormément la EventSource interface.
Côté serveur: Ne pas envoyer le type d'événement, il suffit d'inclure un supplément de champ de données (compte que j'ai toujours utiliser json). Ainsi, au lieu de
J'envoie ce à partir du serveur à la place:
Côté Client: je peux Maintenant utiliser EventSource onmessage de rappel, qui est déclenché à chaque message, qui ne dispose pas d'un type d'événement.
Et pour lier les écouteurs d'événement, j'ai créer une classe wrapper avec la colonne vertébrale.L'événement de la fonctionnalité. Le résultat:
Maintenant, avec cette classe wrapper, je peux facilement étendre les fonctionnalités, tous les serveur a envoyé des événements peuvent être facilement surveillés et grâce à l'extension de la colonne vertébrale.Les événements de la gestion des événements de cette classe est beaucoup plus puissant.
Exemple d'utilisation:
Maintenant, j'ai un composant qui est facile à manipuler, de proroger, de débogage et de test.
Je sais que ce n'est pas un EventSource, mais je cherchais la même chose (un moyen de rattraper tous les événements entrants sans connaître leur type). Sans aucun contrôle sur le serveur de l'envoi de ces événements, j'ai fini par l'écrire avec un XHR, au cas où quelqu'un d'autre tombe sur ceci: