2016-06-24 9 views
1

Ich habe eine lange Zeit bleiben mit Conkeror als meine Standard-Web-Browser und gewöhnen sich an die Konfiguration/Hinzufügen neuer Funktionen zu meinem Browser mit Js-Code mit allen XUL Api durch die Datei .conkerorrc. Ich migriere zu Firefox, da es eine bessere Unterstützung hat und von Mozilla aktiv gepflegt wird. Eines der Features, die ich bisher vermisst habe, ist die dot-Datei, mit der ich einfach alles konfigurieren kann, was ich will, alle Dateien über git sichern und den Code direkt (mit Mozrepl) auswerten, während ich codiere um das Ergebnis zu sehen.Fähigkeit, Init-Skript in Firefox zu laden?

Gibt es eine Möglichkeit, dass ich einen sciprt beim Firefox-Start injizieren/ausführen kann, zum Beispiel ~/.firefox/index.js?

Antwort

1

Es gibt keine Funktionalität auf Lager Firefox zum Ausführen von JavaScript-Code vom Benutzer beim Start bereitgestellt. Funktionalität wie diese war etwas, das requested of Firefox since 2006-04-02 war.

Es ist trivial ein Add-on in einem der verschiedenen Firefox-Add-on-Typen (XUL/Overlay, Restartless/Bootstrap, Add-on SDK oder WebExtensions), die Sie bei Firefox Start begehren, was JavaScript laufen würde zu schreiben. Dies kann getan werden, um entweder Code auszuführen, der in dem Add-On enthalten war (einfach), oder der das JavaScript in einer Datei ausführt, die von einem Ort außerhalb des Add-On geladen wird (komplexer). Welcher Add-On-Typ Sie verwendet haben, um dies zu implementieren, hätte Einfluss darauf, welche Schnittstellen Sie innerhalb des von Ihnen geschriebenen Codes zur Verfügung hatten. Ein Nachteil des Schreibens einer eigenen Erweiterung, die den im Add-on enthaltenen Code ausführt, besteht darin, dass Sie, um es mit einem Release verwenden zu können, oder eine Beta-Version von Firefox signed by Mozilla benötigen. Während dies ein schneller und einfacher Prozess ist, fügt es dem Entwicklungs-/Testzyklus zusätzlichen Aufwand hinzu.

Sie haben keine der firefox-addon Tags in Ihrer Frage angegeben. Darüber hinaus haben Sie die Funktionalität, die Sie wünschen, nicht beschrieben, außer als Allgemeingültigkeit. Es scheint auch nicht die Absicht Ihrer Frage zu sein zu fragen, wie Sie ein solches Add-On implementieren würden. Angesichts dieser Tatsache und der Tatsache, dass es bereits mehrere Add-Ons gibt, die die Funktionalität zum Ausführen von beliebigem JavaScript-Code (einschließlich XUL-Code) implementieren, der vom Benutzer bereitgestellt wird, werde ich hier keinen Code angeben, der diese Funktion ausführt.

Wenn Sie jedoch daran interessiert sind, eine bereits vorhandenen Add-on in Verwendung, hier sind ein paar Optionen:

  • userChromeJS: Diese Erweiterung wurde aus dem Code abgeleitet ursprünglich als Beispiel zur Verfügung gestellt, wie die zur Umsetzung Funktionalität angefordert in bug 332529. Das erste Feature, das aufgelistet wird, ist: "Vollständige Chrome-Anpassung ist möglich, indem Sie benutzerdefinierten JavaScript-Code ausführen oder Chrom mit .xul-Overlays überlagern." Dies ist ein Overlay-basiertes Add-On, mit dem Sie XUL verwenden können. Das klingt nach der Funktionalität, an der Sie interessiert sind.
  • uc: "Ein UserChromeJS-Klon mit integrierter Tief-/Überlagerungsladefunktion."
  • Greasemonkey: "Passen Sie die Art und Weise an, wie eine Webseite angezeigt wird oder sich verhält, indem Sie kleine Bits JavaScript verwenden." Dies ist ein häufig verwendetes Add-on, das es erlaubt, komplexeren JavaScript-Code zu schreiben. Der Code ist executed in a sandbox, nicht im Rahmen einer Erweiterung. Dies geschieht aus Sicherheitsgründen.
  • Custom Style Script (Inject desired CSS or JS): "Benutzerdefinierte JavaScript-Codes oder Stile (CSS) zu einer bestimmten Seite oder allen Seiten hinzufügen."
+0

ja das ist, was ich suche. Ich habe versucht, ein einfaches Addon zu schreiben und es scheint gut zu funktionieren. Firefox speichert jedoch auch den Code außerhalb des Addons, so dass ich bei jedem Start von Firefox einige Tricks anwenden muss, um den Cache zu löschen, aber das wird den gesamten Start von Firefox verlangsamen.Ich möchte nur den Cache für dieses Addon löschen. Lassen Sie mich userChromeJS und uc überprüfen. Vielen Dank – tmtxt

Verwandte Themen