Je veux obtenir le répertoire de mon extension dans Firefox.Vérifiez si le module de code existe dans Firefox
Dans Firefox 3, il fonctionne comme ceci:
var file = Components.classes["@mozilla.org/extensions/manager;1"]
.getService(Components.interfaces.nsIExtensionManager)
.getInstallLocation("{my guid}");
Dans Firefox 4, vous devez utiliser le nouveau gestionnaire d'extensions comme ceci:
Components.utils.import("resource://gre/modules/AddonManager.jsm");
AddonManager.getAddonByID("{my guid}", function(addon) {
addon.getResourceURL("file name"));
});
Depuis que je veux que mon extension est compatible avec Firefox 3.x et Firefox 4.x et supérieur, comment puis-je vérifier si AddonManager.jsm est disponible?
Dans Firefox 3, vous pouvez également faire 'Application.extensions.get (guid) .version', donc vérifier si' Application.extensions' est défini est une bonne façon de procéder. – MatrixFrog
mais comment puis-je vérifier si elle est définie? –
undefined est une valeur falsifiée donc juste si (Application.extensions) {/ * code pour Firefox 3.6 * /} else {/ * code pour Firefox 4 * /} ' – MatrixFrog