Su extensión de Firefox se ejecuta en un contexto de Javascript diferente a su página HTML, por lo que la extensión no puede ser llamada directamente desde el Javascript en su página HTML.
Sin embargo, puede diseñar la extensión para permitir el acceso desde HTML. Generalmente, no se permite que HTML Javascript acceda al objeto Componente, por lo que debe permitir que el código HTML sea una forma de acceder al objeto en su extensión. Para ello, cree un componente XPCOM en su extensión y establezca el objeto en la categoría "Propiedad global JavaScript" a través del objeto nsICategoryManager. El nombre de la entrada es la cadena utilizada desde Javascript sin privilegios, el valor es la ID del contrato para su clase XPCOM.
Sin embargo, también debe permitir el acceso sin privilegios de Javascript a su objeto, o el administrador de seguridad del script bloqueará el acceso. Para permitir esto, implemente nsISecurityCheckedComponent - proporcionando canCreateWrapper (en nsIIDPtr iid), canCallMethod (en nsIIDPtr iid, en wstring methodName), canGetProperty (en nsIIDPtr iid, en wstring propertyName) y canSetProperty (en nsIIDPtr iid, en wstring propertyName) para devolver allAccess para las propiedades permitidas, y noAccess en caso contrario.
Tenga cuidado con lo que hace con la entrada del usuario, y lo que le permite el acceso - es muy fácil crear accidentalmente un agujero de seguridad en el navegador haciendo esto.
Tengo este error al intentar escribir en un archivo XML dentro de la extensión: Error: Permiso denegado para para obtener XPCComponents.classes propiedad Cualquier idea de cómo resolver esto? –
¿Se refiere a un elemento