Recientemente trabajé en un script en Greasemonkey y me gustaría publicarlo como un complemento para Firefox. ¿Cuál es la forma más fácil de hacer esto?¿Cómo publico un script de Greasemonkey como complemento de Firefox?
Respuesta
Justo después de la secuencia de comandos en
userscripts.org
OpenUserJS.org (o uno de los otros reemplazos userscripts.org).
Tratar de volver a empaquetarlo como un complemento suele ser más problemas de lo que vale.
Si realmente debe, puede utilizar the Greasemonkey script compiler para convertir su escritura en un "complemento", y luego submit that add-on to Mozilla, via the normal add-on process.
Tenga en cuenta que la respuesta de Wladimir es mejor que el compilador de script de Greasemonkey.
Si bien puede "compilar" un script de GreaseMonkey (consulte la respuesta de Brock), esta solución no es exactamente compatible. La opción más confiable sería usar Add-on SDK y JPM. Su archivo lib/main.js
puede ser muy simple (page-mod
module documentation):
var data = require("sdk/self").data;
var pageMod = require("sdk/page-mod");
pageMod.PageMod({
include: "*.example.com",
contentScriptWhen: 'end',
contentScriptFile: data.url("contentScript.js")
});
Esto es equivalente a la siguiente cabecera script de Greasemonkey:
// @include http://example.com/*
// @include http://*.example.com/*
a continuación, agregar el script de Greasemonkey como data/contentScript.js
(Add-on SDK ignore el encabezado de GreaseMonkey, la información se especifica en otro lugar) y construya la extensión. En la mayoría de los casos, simplemente funcionará, a menos que su script GreaseMonkey utilice una API especial de GreaseMonkey, en cuyo caso deberá encontrar un reemplazo. unsafeWindow
is supported por cierto (se aplican advertencias habituales).
- 1. Greasemonkey Version Script constante
- 2. secuencia de comandos Firefox Exension vs. Greasemonkey?
- 3. ¿Cómo escribo un complemento de Firefox?
- 4. console.log no funciona cuando se usa en un script de Firefox, Greasemonkey
- 5. ¿Cómo puedo interceptar XMLHttpRequests desde un script de Greasemonkey?
- 6. compatibilidad script de Greasemonkey con Firefox, Safari, Opera y Chrome (proceso de carga)
- 7. Descargando archivos con un complemento de Firefox
- 8. Cómo probar un script de Greasemonkey, especialmente en una copia local de una página web?
- 9. ¿Cómo desarrollar el complemento Firefox?
- 10. Cómo llamar a una función de script de contenido desde main.js en el complemento de Firefox
- 11. cómo ejecutar el script greasemonkey antes de que se muestre el contenido de la página?
- 12. ¿Cómo hacer un complemento como Firebug?
- 13. Script Fire Greasemonkey en la solicitud AJAX
- 14. Firefox: complemento vs extensión?
- 15. ¿Cómo puedo imitar la funcionalidad insegura de Windows de Greasemonkey/Firefox en Chrome?
- 16. ¿Cómo implementar el evento "DOM Ready" en un script de GreaseMonkey?
- 17. Script de Greasemonkey para insertar matemática en gmail
- 18. ¿Ejecutar un script de Greasemonkey solo una vez por carga de página?
- 19. Unidad de prueba de un complemento de Firefox
- 20. complemento de Firefox que registra el tráfico
- 21. JavaScript - Greasemonkey cómo funciona
- 22. ¿Cómo incluyo un archivo javascript remoto en un script de Greasemonkey?
- 23. Reproducir un sonido en un complemento de Firefox
- 24. Complemento de Firefox add 2px en un botón de envío
- 25. ¿Cómo puedo detectar una primera ejecución en Firefox, un complemento?
- 26. Cómo cargar archivos desde el complemento de Firefox
- 27. ¿Cómo publico un "lanzamiento" en github?
- 28. Instalación silenciosa del complemento de firefox
- 29. Comprueba si un complemento de Firefox 3.5 está habilitado
- 30. Mejor método para guardar datos en un complemento de Firefox
¿Qué quiere decir con "no exactamente bien respaldado"? En el sentido de "no instalar/rara vez" o "código hinchado"? –
@RobW: Quiero decir: "solución antigua que alguien hackearon hace años y que en realidad no se actualizó desde entonces". No es óptimo de varias maneras, como requerir un reinicio del navegador para la instalación de la extensión, pero nadie va a arreglar eso. –
Traté de editar esto, pero no lo aceptaron. Pero este guión exacto ya no funciona. Tuve que modificarlo según la documentación de Mozilla. 'var pageMod = require (" sdk/page-mod "); var self = require ("sdk/self"); pageMod.PageMod ({ incluyen: "*", contentScriptWhen: 'listo', contentScriptFile: [self.data.url ("contentScript.js")] }); ' – trlkly