Je développe un module pour Firefox (3.6. *). dans le code suivant notify
appelé de l'intérieur init
fonctionne très bien, mais j'obtiens une erreur en disant this.notify is not a function
quand il est appelé à partir de onPageLoad
. Pourquoi donc?Add-on Firefox - `this` fonctionne dans une méthode mais échoue dans une autre méthode du même objet
Aussi quand je change l'appel à myextobj.notify('title', 'msg')
, cela fonctionne. La même chose est vraie pour l'accès aux variables. Alors, quelle est la différence entre this
et le nom de l'objet en tant que préfixe?
var myextobj = {
init: function() {
this.notify('init', 'We are inside init');
...
var appcontent = document.getElementById("appcontent"); // browser
if(appcontent)
appcontent.addEventListener("DOMContentLoaded", this.onPageLoad, true);
},
onPageLoad: function(aEvent) {
this.notify('onPageLoad', 'We are inside onPageLoad');
...
},
notify: function (title, text) {
Components.classes['@mozilla.org/alerts-service;1'].
getService(Components.interfaces.nsIAlertsService).
showAlertNotification(null, title, text, false, '', null);
}
};
window.addEventListener("load", function() { myextobj.init(); }, false);