Я хотел бы знать, когда пользователь собирается закрыть приложение Firefox ( alt + F4 или кнопка закрытия).Я пробовал onbeforeunload
, это работает, но только когда пользователь нажимает Файл >> Выход.Я написал наблюдателя и использовал событие quit-application, чтобы узнать, когда пользователь выходит, но событие не запускается!
var ObserverTest = {
register: function() {
var observerService = Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService);
// observerService.addObserver(ObserverTest, "user-interaction-active", false);
observerService.addObserver(ObserverTest, "quit-application",false);
},
observe: function(subject, topic, data) {
switch (topic) {
case 'sessionstore-windows-restored':
// do stuff
break;
case 'user-interaction-inactive':
// do stuff
var url = "http://localhost:13000";
var params = "q=hello";
var req = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance();
req.open('POST', url, true);
req.send('your=data&and=more&stuff=here');
break;
case 'user-interaction-active':
// every 5 seconds and immediately when user becomes active
break;
case 'quit-application':
obs.removeObserver(this, "quit-application");
alert('hello');
break;
case 'quit-application-requested':
alert("hello");
break;
}
},
unregister: function() {
var observerService = Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService);
// observerService.removeObserver(ObserverTest, "user-interaction-active");
observerService.removeObserver(ObserverText,"quit-application");
}
}