Desidero ascoltare gli eventi della finestra nel mio servizio AngularJS in modo che possa trasmetterli ai miei controller.Ascoltare eventi finestra in un servizio Angularjs
Ho un'estensione per Chrome che invia qualsiasi messaggio utilizzando port.postMessage('Any Message');
.
voglio che il mio servizio angularjs per ascoltare il messaggio e inviarlo al controller utilizzando $rootScope.$broadcast("Something occurred.");
Dentro il mio servizio, sto cercando di farlo con la seguente ascoltatore.
window.addEventListener('Any Message', function (event) {
if (event.origin != window.location.origin) {
return;
}
$rootScope.$broadcast("Something occurred.");
});
Ho anche provato $window
ma non so il motivo per cui il codice di cui sopra non funziona. Anche il mio IDE, le webstorm di jetbrains classificano sopra lo snippet di codice come irraggiungibile.
Prima di questo, ho utilizzato il codice precedente in un controller e ha funzionato correttamente. Non stavo facendo trasmissione in controller. Ora voglio spostare questo al servizio in modo che tutti i controller possano essere in grado di ascoltarlo dal servizio.
Grazie, ha funzionato. –