2010-11-29 28 views
0

J'ai Observer ustensile "quitter l'application",Observateur de la sortie du navigateur

TestApp.ns(function() { 
with (TestApp.Lib) { 

    //Ci = Components.interfaces; 

    theApp.ExitObserver = function() {}, 

    // Called on uninstall 
    theApp.ExitObserver.prototype.observe = function(subject, topic, data){ 
     if (topic == "quit-application"){ 
      alert(" exit "); 
     } 

    }; 
    } 
}); 

Im Mon fichier main.js i appelé ce ExitObserver comme ci-dessous.

theApp.exitObserver = new theApp.ExitObserver(); 
observerService.addObserver(theApp.exitObserver, "quit-application", false); 

Lorsque l'utilisateur quitte le navigateur, mon alerte ne fonctionne pas. Y a-t-il un problème dans cette implémentation?

+0

Etes-vous sûr que votre observateur est ajouté? – sdwilsh

Répondre

1

Je suggère de simplifier votre code en premier. Essayez ceci:

var observerService = Components.classes["@mozilla.org/observer-service;1"] 
         .getService(Components.interfaces.nsIObserverService); 
observerService.addObserver(
    { 
     observe: function(subject, topic, data) { 
      alert(topic); 
     } 
    }, "quit-application", false); 

Je crains que je ne peux pas tester cela sur ma plate-forme, alors pardonnez-moi pour toutes les fautes de frappe. S'il vous plaît laissez-moi savoir ce que vous rencontrez! Voir aussi this thread.