ich kürzlich auf einem Skript in Grease gearbeitet und möchte es als Add-on veröffentlichen für Firefox. Was ist der einfachste Weg, dies zu tun?Wie veröffentliche ich ein Greasemonkey-Skript als Firefox-Add-On?
Antwort
schreiben Sie einfach Ihr Skript bei
userscripts.org
OpenUserJS.org (oder einer der anderen userscripts.org Ersatz).
Der Versuch, es als Add-on zum Umpacken ist in der Regel mehr Mühe, als es wert ist.
Wenn Sie wirklich müssen Sie the Greasemonkey script compiler verwenden können Ihr Skript in ein „Add-on“, und dann submit that add-on to Mozilla, via the normal add-on process zu drehen.
Beachten Sie, dass Wladimir Antwort ist besser als die Greasemonkey-Skript-Compiler.
Während Sie „kompilieren“ ein Greasemonkey-Skript (Brock Antwort sehen), ist diese Lösung nicht genau gut unterstützt. Die zuverlässigere Option wäre die Verwendung der Add-on SDK und JPM. Ihre lib/main.js
Datei kann wirklich einfach sein (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")
});
Dies entspricht dem folgenden Greasemonkey-Skript-Header:
// @include http://example.com/*
// @include http://*.example.com/*
Und Sie fügen Sie dann Ihre Greasemonkey-Skript als data/contentScript.js
(Add-on SDK Ignoriere den GreaseMonkey-Header, die Informationen sind an anderer Stelle angegeben) und erstelle die Erweiterung. In den meisten Fällen wird es nur funktionieren - es sei denn, Ihr GreaseMonkey-Skript verwendet natürlich eine spezielle GreaseMonkey-API. In diesem Fall müssen Sie einen Ersatz finden. unsafeWindow
is supported übrigens (übliche Warnungen gelten).
- 1. Wie veröffentliche ich meine Website?
- 2. Wie "veröffentliche" ich meine Anwendung?
- 3. Wie veröffentliche ich ein Ereignis im Konstruktor meines Moduls?
- 4. Wie veröffentliche ich ein npm-Paket mit Verteilungsdateien?
- 5. Anmeldeinformationen nicht gefunden, wenn ich ein Teilprojekt veröffentliche
- 6. Wie veröffentliche ich mehrere Anwendungen/Prozesse mit einer ClickOnce-Bereitstellung?
- 7. Wie veröffentliche ich eine Website von Node.js auf Github Pages?
- 8. Wie veröffentliche ich mein asp.net-Projekt auf meiner lokalen Website?
- 9. Wie füge ich ein Veröffentlichungsdatum zu einem Projekt hinzu, das ich in vs2010 veröffentliche?
- 10. Wie veröffentliche ich mein GitHub-Repository auf Readthedocs?
- 11. Wie veröffentliche ich eine Xamarin.Forms App unter Windows?
- 12. Wie veröffentliche ich unter <me> .github.com?
- 13. Wie veröffentliche ich eine jsx-Datei in npm?
- 14. Wie Installationsordner URL nach veröffentliche die Appication
- 15. Wie veröffentliche ich ein Grails 3 Plugin in meinem lokalen Nexus Repo?
- 16. Wie veröffentliche ich ein Gradle-Projekt im Maven-Repository mit dem optionalen und bereitgestellten Bereich?
- 17. Wie veröffentliche ich ein Dynamics CRM4-Plug-in mit mehreren Assemblys?
- 18. Was sollte ich überprüfen, bevor ich eine Webanwendung veröffentliche?
- 19. Kann ich automatisch in den Freigabemodus wechseln, wenn ich ein vs-Projekt veröffentliche?
- 20. Wie verwende ich ein Bild als Übermittlungsschaltfläche?
- 21. Wie schreibe ich ein ViewPage als IList
- 22. Wie verwende ich ein Schlüsselwort als Variablennamen?
- 23. Wie deklariere ich ein Listenelement als REGEX
- 24. Wie führe ich ein Programm als niemand?
- 25. Wie kann ich meine web.config validieren, bevor ich sie gemäß dem Veröffentlichungsprofil veröffentliche?
- 26. Facebook URL Scheme funktioniert nicht fb: // veröffentliche
- 27. Veröffentliche Spring Bohnen in Thread-sicherer Weise?
- 28. Wie stelle ich ein Bild als Hintergrund eines Graphen ein?
- 29. Wie stelle ich ein Servlet als Homepage in Java ein?
- 30. Wie wird meine Google Apps-URL in Google Play angezeigt, wenn ich sie veröffentliche?
Was meinst du mit „nicht exactely gut unterstützt“? Im Sinne von "nicht/selten installieren" oder "aufgeblähter Code"? –
@RobW: Ich meine: „alte Lösung, dass jemand vor zusammen Jahren gehackt und nicht wirklich da war aktualisieren“. Es ist in mehrfacher Hinsicht suboptimal, zum Beispiel erfordert es einen Neustart des Browsers für die Installation der Erweiterung, aber niemand wird das beheben. –
Ich habe versucht, dies zu bearbeiten, aber sie haben es nicht akzeptiert. Aber dieses genaue Skript funktioniert nicht mehr. Ich musste es basierend auf der Mozilla-Dokumentation ändern. 'var pageMod = require (" sdk/page-mod "); var self = require ("sdk/self"); pageMod.PageMod ({ enthalten: "*", contentScriptWhen: 'ready', contentScriptFile: [self.data.url ("contentScript.js")] }); ' – trlkly