javascript - para - ¿Cuál es la forma más fácil de desarrollar la extensión de Firefox?
como activar javascript en chrome (5)
Es 2013, ¿no hay una forma más fácil de construir extensiones de Firefox?
¡Sí hay!
Los enlaces que proporcionó en la pregunta son increíblemente obsoletos. Existe una forma nueva y mucho mejor de desarrollar extensiones de Firefox : Firefox Add-on SDK .
Sin embargo, es bastante difícil tropezar con él simplemente buscando en Google a lo largo de las líneas de ''tutorial de complemento de Firefox''. Me sorprende que Mozilla no lo anuncie de manera más agresiva, o al menos lo mencione en las páginas que encontraste.
Pasos para comenzar (Mac / Linux, pero debería ser bastante similar para PC):
- Descargue el SDK de https://addons.mozilla.org/en-US/developers/builder , descomprímalo.
- Mire rápidamente el archivo README (siempre útil).
- Ejecute
source bin/activate
desde el directorio SDK (el mismo directorio en el que se encuentra el archivo README). - Ejecute
cfx docs
: estocfx docs
la copia local de documentos SDK y la abre en su navegador. - Deje el directorio SDK, cree un directorio vacío para su extensión.
- Ejecute
cfx init
dentro del directorio de extensiones: esto genera todos los archivos / directorios necesarios. - Siga el resto de la página de getting-started-with-cfx :
- Actualice
lib/main.js
con solo unas líneas de JS para colocar un widget personalizado en la barra de complementos. - Ejecute la ejecución de
cfx run
: esto abre la instancia de Firefox con su nueva extensión brillante.
- Actualice
En general, me llevó unas pocas horas leer la documentación, familiarizarme con las SDK API-s, buscar el module SDK para colocar un widget en una barra de navegación en lugar de una barra complementaria, y desarrollar una extensión completamente funcional en aproximadamente 50 líneas de JavaScript.
HTH!
Actualizar
Hay un nuevo estándar, llamado WebExtensions
De MDN
Actualmente hay varios conjuntos de herramientas para desarrollar complementos de Firefox, pero WebExtensions se convertirá en el estándar para fines de 2017.
Si está escribiendo un nuevo complemento, le recomendamos que escriba una WebExtension .
Estoy planeando desarrollar una extensión simple de Firefox que acorte la URL de una pestaña actualmente activa, muestre una ventana emergente con la URL acortada y colóquela en el portapapeles.
En Google Chrome, esto sería bastante fácil (según http://developer.chrome.com/extensions/getstarted.html ) - JavaScript puro más unas pocas llamadas a las API de JavaScript para interactuar con la interfaz de usuario del navegador.
Sin embargo, después de buscar un buen tutorial de extensiones de Firefox, los enlaces que parecen más oficiales son:
- https://developer.mozilla.org/en-US/docs/Extensions
- https://developer.mozilla.org/en-US/docs/Building_an_Extension
- ¿Cómo escribo un complemento de Firefox?
Según ellos, parece que tendré que aprender el lenguaje XUL incluso para las interacciones más simples con la IU del navegador. Además de eso, tendré que configurar un perfil de Firefox personalizado para no manchar mi perfil predeterminado durante el desarrollo, crear una estructura de directorios complicada, escribir un manifiesto en un XML oscuro, descubrir cómo empaquetar y probar lo que implemente, etc.
Es 2013, ¿no hay una forma más fácil de construir extensiones de Firefox?
A partir de https://blog.mozilla.org/addons/2016/11/23/add-ons-in-2017/ , la única forma de avanzar será usar WebExtensions . Las últimas extensiones de SDK serán aceptadas para Firefox 52, mientras que Firefox 57 finalizará todas las demás extensiones de soporte , admitiendo solo WebExtensions.
Firefox copió la API de extensión de Google Chrome. Así que podrías usar tu extensión de Chrome y ver si todas las API ya son compatibles con Firefox (deberían serlo desde ahora). Los programadores como Giorgio Maone de NoScript apoyan activamente el cambio a WebExtensions .
Para desarrollar una WebExtension, necesitas
ya sea web-ext-tool que se puede instalar a través de
npm install --global web-ext
o simplemente use Firefox
about:debugging
o Chromium''schrome:extensions
para cargar temporalmente la extensión webextension.
De cualquier manera, necesita un archivo manifest.json
en un directorio creado por usted, que combina todas las funcionalidades. Consulte https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Your_first_WebExtension para obtener un primer ejemplo. O los documentos de Google en https://developer.chrome.com/getstarted .
Hay MDN para desarrollar complementos, cada una de ellas tiene ventajas y desventajas:
WebExtensions es el futuro de los complementos de Firefox. Si puede usar la API WebExtensions, es la mejor opción. Puede desarrollar y publicar WebExtensions en este momento, pero todavía están en un estado inicial.
2- Add-on SDK (método más antiguo):
Add-on SDK proporciona API para desarrollar complementos de Firefox y una herramienta para desarrollarlos, probarlos y empaquetarlos.
Hice un tutorial sobre el desarrollo de extensiones utilizando el complemento SDK de Firefox:
Cómo desarrollar una extensión de Firefox con el complemento SDK
Sí, hay tres técnicas diferentes que puede usar para crear extensiones:
- Extensiones Add-on SDK-based
- extensiones arrancadas manualmente sin reinicio
- extensiones de superposición
Puedes leer la comparación entre here
Si puede, es aconsejable usar Add-on SDK, que usa el mecanismo de extensión sin reinicio, pero simplifica ciertas tareas y se limpia solo. Si el Add-on SDK no es suficiente para sus necesidades, implemente una extensión manual sin reinicio.
Pasos para comenzar con extensiones Add-on SDK-based