firefox - tutorial - Acceder al módulo Add-on SDK desde el bloc de notas
web extensions (2)
Me gustaría probar pequeños fragmentos de mi código adicional con el bloc de notas. En este caso, estoy intentando acceder al módulo de notificaciones de esta manera:
const { notify } = require("sdk/notifications");
notify({
//My notification''s options
});
Como esperaba, recibo el error Exception: require is not defined
. Como el Add-on SDK está empaquetado con Firefox, me pregunto si hay una forma de acceder a los módulos directamente desde el bloc de notas. Gracias.
Editar: Después de buscar en Google, encontré scratch-kit (github) , un complemento que hace exactamente lo que estoy tratando de hacer. Pero desafortunadamente está roto , así que he archivado un error con la esperanza de que esta funcionalidad se agregue a los devtools.
Por ahora hay una manera relativamente simple de hacer esto. El siguiente código funciona bien si se ejecuta en contexto privilegiado (lo que significa cambiar el entorno de Scratchpad a "Navegador"):
let {require} = Cu.import("resource://gre/modules/commonjs/toolkit/require.js", {});
let {notify} = require("sdk/notifications");
Esto se admite a partir de Firefox 36 pero no está realmente documentado a partir de ahora, lo que significa que esto podría dejar de funcionar en el futuro.
A modo de referencia: la solicitud de extracción n.º 1679 agregó esta funcionalidad (aparentemente no para uso externo).
Por el momento no hay una manera de hacer esto. Algunas cosas podrían suceder para que esto sea posible y las personas puedan ver / contribuir:
- scratch-kit se actualiza
- El jetpack nativo está completo y está integrado con itchpad (que debería reemplazar el kit de scratch). Hice un ejemplo sobre el cual publiqué pero todavía no está listo para su lanzamiento .