Votre extension Firefox fonctionne dans un contexte Javascript différent de votre page HTML, donc l'extension ne peut pas être appelée directement à partir du Javascript dans votre page HTML.
Toutefois, vous pouvez concevoir l'extension pour autoriser l'accès à partir du code HTML. HTML Javascript n'est généralement pas autorisé à accéder à l'objet Component, vous devez donc autoriser le code HTML à accéder à l'objet dans votre extension. Pour ce faire, créez un composant XPCOM dans votre extension et définissez l'objet dans la catégorie "Propriété globale JavaScript" via l'objet nsICategoryManager. Le nom de l'entrée est la chaîne utilisée à partir du Javascript non privilégié, la valeur est l'ID du contrat pour votre classe XPCOM. Toutefois, vous devez également autoriser l'accès Javascript non privilégié à votre objet, sinon le gestionnaire de sécurité du script bloquera l'accès. Pour permettre cela, implémentez nsISecurityCheckedComponent - fournissant canCreateWrapper (dans nsIIDPtr iid), canCallMethod (dans nsIIDPtr iid, dans wstring methodName), canGetProperty (dans nsIIDPtr iid, dans wstring propertyName) et canSetProperty (dans nsIIDPtr iid, dans wstring propertyName) pour retourner allAccess pour les propriétés autorisées, et noAccess sinon. Faites attention à ce que vous faites avec l'entrée de l'utilisateur, et à ce que vous autorisez l'accès - il est très facile de créer accidentellement un trou de sécurité dans le navigateur en faisant cela.
J'ai eu cette erreur lorsque je tente d'écrire dans un fichier xml dans l'extension: Erreur: Permission refusée à pour obtenir XPCComponents.classes de propriété Toute idée comment résoudre ce problème? –
Faites-vous référence à un élément