Injizieren Sie eine CSS-Datei über eine Firefox-Erweiterung in eine Webseite

8

Ich schreibe eine Firefox-Erweiterung und ich verwende ihr Add-on-SDK; aber ich kann nicht herausfinden, wie man eine lokale CSS-Datei aus dem Datenordner in die Webseite einfügt. Es wäre großartig, wenn es eine Möglichkeit gäbe, es über page_mod package zu machen.

    
italiano40 04.12.2011, 06:13
quelle

2 Antworten

6

Ab dem Add-on SDK 1.14 gibt es eine experimentelle (API kann sich ändern) Unterstützung dafür im page-mod Modul:

%Vor%

Siehe Web ändern Seiten basierend auf URL für eine ausführliche Anleitung zur Verwendung von Page-Mod.

Es gibt eine Seite im Addon-SDK-Wiki , in der Probleme mit der aktuellen Implementierung besprochen werden scheint ein bisschen veraltet.

Unter der Haube verwendet es nsIDOMWindowUtils .loadSheet () to Fügen Sie das Stylesheet hinzu, ohne das DOM der Seite zu berühren. (Diese API wurde in Firefox 18 hinzugefügt, siehe Fehler 737003 . Vorher mussten Sie nsISTyleSheetService , das ähnlich, aber nicht tab-spezifisch war.

Vorher könnten Sie das Inhaltsskript des Page-Mods verwenden, um das Link- oder Stilelement einzufügen ( Beispiel ). [Bearbeiten] Dank Lwburks Kommentar, hier ist eine ausführlichere ausführliche Beschreibung in Greasemonkey Hacks: Tipps & amp; Tools zum Remixen des Internets mit Firefox Von Mark Pilgrim: Abschnitt "Stil einer Seite ändern" .

    
Nickolay 04.12.2011 08:38
quelle
1

Um CSS aus main.js einzufügen, kann man nun "page-mod" verwenden:

%Vor%     
Eloims 30.03.2013 17:51
quelle