Piszę rozszerzenie przeglądarki Firefox i używam ich dodatku SDK; ale nie mogę wymyślić, jak wstrzyknąć lokalny plik CSS z folderu danych na stronę. Byłoby wspaniale, gdyby był sposób, aby to zrobić za pomocą pakietu page_mod
.Wprowadzanie pliku CSS do strony internetowej za pomocą rozszerzenia firefox
Odpowiedz
W dodatku na SDK 1.14 jest eksperymentalny (API mogą ulec zmianie) wsparcie to w module page-mod:
var pageMod = require("sdk/page-mod").PageMod({
include: "*",
contentStyleFile: require("sdk/self").data.url("my-style.css")
});
Zobacz Modifying Web Pages Based on URL dla rozbudowanego przewodnika po użyciu page-mod.
Istnieje a page on the Addon SDK's wiki omawianie problemów z bieżącą implementacją, chociaż wydaje się nieco przestarzałe.
Pod maską używa nsIDOMWindowUtils .loadSheet(), aby dodać arkusz stylów bez dotykania DOM strony. (Ten interfejs API została dodana w Firefoksie 18, patrz bug 737003. Przedtem trzeba było użyć nsIStyleSheetService który był podobny, ale nie kartę-specyficzny.)
Przed że można użyć treści skryptu strony-mod do wstawienia element łącza lub stylu (example). [edytuj] dzięki komentarzowi lwburka, oto bardziej rozbudowany rozbudowany opis w Greasemonkey Hacks: Tips & Tools for Remixing the Web with Firefox By Mark Pilgrim: "Alter a Page's Style" section.
Aby wstawić CSS z main.js można teraz używać "page-mod":
var data = require("sdk/self").data;
var pageMod = require("sdk/page-mod");
pageMod.PageMod({
include: "*.org",
contentStyleFile: data.url("my-page-mod.css")
});
Dzięki za wzmiankę o tym! Zaktualizowałem swoją odpowiedź na nowszą wersję Addon SDK. – Nickolay
- 1. Wyładuj CSS ze strony internetowej
- 2. Wprowadzanie kodu JavaScript do CSS
- 3. dynamicznie dodawaj działki do strony internetowej za pomocą błyszczącego
- 4. Pobieranie pliku PDF za pomocą przeglądarki internetowej i wyświetlenia strony internetowej
- 5. Logowanie do konsoli z rozszerzenia Firefox?
- 6. Programowe tworzenie pliku PDF ze strony internetowej
- 7. Google Analytics do śledzenia użycia rozszerzenia FireFox
- 8. pobierz zawartość ze strony internetowej za pomocą javafx
- 9. Jak zmienić CSS wybranego tekstu za pomocą rozszerzenia Google Chrome
- 10. Renderowanie strony internetowej do obrazu
- 11. Pobierz aktualny adres URL strony z rozszerzenia paska bocznego firefox
- 12. Wyodrębnij linki ze strony internetowej za pomocą Go lang
- 13. Załaduj UIWebView za pomocą lokalnego pliku CSS
- 14. Jak uzyskać favicon.ico ze strony internetowej za pomocą Java?
- 15. Wprowadzanie zmian na stronie internetowej bez odświeżania
- 16. Oddzielna odmiana strony internetowej
- 17. Dodaj skrót klawiaturowy do rozszerzenia Firefox
- 18. Dodawanie funkcjonalności zrzutów ekranu do rozszerzenia firefox
- 19. jak dodać podkład muzyczny do strony internetowej?
- 20. Wyjątek rzucony podczas tworzenia strony internetowej za pomocą Invoke-Command
- 21. Jak pobrać wszystkie obrazy ze strony internetowej za pomocą wget?
- 22. Link do strony indeksu strony internetowej
- 23. Statyczny generator strony internetowej
- 24. Unicode za pomocą CSS: przed
- 25. Szyny - CSS nie załadowany do przeglądarki internetowej
- 26. Tworzenie strony internetowej do strumieniowego przesyłania wideo
- 27. Wklej obraz do strony internetowej
- 28. Konwersja strony internetowej do obrazu
- 29. Python zmechanizuj logowanie do strony internetowej
- 30. Wprowadzanie parametrów do konstruktora za pomocą adnotacji na wiosnę
To jest niemożliwe dla mnie do korzystania XPCOM ponieważ używam SDK appbuilder – italiano40
@ italiano40: zachować przedstawieniu " SDK aplikacji ". Jeśli masz na myśli dodatkowy pakiet SDK, użyj poprawnego hasła. Możliwe jest użycie komponentów XPCOM w dodatkowym pakiecie SDK ('require ('chrome')'), ale jest to zaawansowany temat i unieważnia zgodność w przód, która gwarantuje, że dodatek SDK zwykle dostarcza. – Nickolay
Patrz także: http://books.google.com/books?id=KWRE2C_S4YsC&pg=PA19&lpg=PA19&dq=mark+pilgrim+add+Global+Style&source=bl&ots=SnfX5Ad2WO&sig=CKoF9A0Ala96vphTeU4mK2dbMe4&hl=en&ei=GJ3iTpeJKKK2sQLBkMDvBQ&sa=X&oi=book_result&ct=result&resnum= 1 & ved = 0CCQQ6AEwAA # v = onepage & q & f = false –