Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.
Un exemple plus utile est disponible dans le code sourcee: toolkit/components/help/content/contextHelp.js#61
Si vous voulez être en mesure d'appeler des fonctions au sein d'un objet XPCOM à partir du code d'une fenêtre XUL, vous pouvez le faire si vous passez l'objet XPCOM comme un des arguments de la méthode de création de la fenêtre Windows.
Par exemple
var ww = Components.classes["@mozilla.org/embedcomp/window-watcher;1"]. getService(Components.interfaces.nsIWindowWatcher); var win = ww.openWindow(null, "chrome://myextension/content/debug.xul", "debug history", "chrome,centerscreen,resizable", myObject);
Notez dans cet exemple que myObject
à la méthode openWindow(); vous pouvez passer tous objets XPCOM (
ou toute autre valeur,
en l'occurence) par ce moyen. Pour accéder à l'objet XPCOM à partir du code de la fenêtre, vous pouvez accéder au tableau des arguments de la fenêtre comme illustré dans l'exemple ci-dessous
Components.utils.reportError(String(window.arguments[0]));
This will produce output similar to "[xpconnect wrapped nsIMyXPCOMObject]
".