8

私はFirefox拡張機能を作成しており、アドオンSDKを使用しています。しかし、ローカルCSSファイルをデータフォルダーからWebページに挿入する方法がわかりません。page_modパッケージを介してそれを行う方法があれば素晴らしいでしょう。

4

2 に答える 2

6

アドオンSDK1.14の時点で、page-modモジュールでこれに対する実験的な(APIが変更される可能性があります)サポートがあります。

var pageMod = require("sdk/page-mod").PageMod({
  include: "*",
  contentStyleFile: require("sdk/self").data.url("my-style.css")
});

page-modを使用するための詳細なガイドについては、URLに基​​づいたWebページの変更を参照してください。

Addon SDKのwikiに、現在の実装の問題について説明しているページがありますが、少し時代遅れのようです。

内部的には、 nsIDOMWindowUtils .loadSheet()を使用して、ページのDOMに触れることなくスタイルシートを追加します。(このAPIはFirefox 18で追加されました。バグ737003を参照してください。それ以前は、類似しているがタブ固有ではないnsIStyleSheetServiceを使用する必要がありました。)


その前に、page-modのコンテンツスクリプトを使用して、リンクまたはスタイル要素を挿入できます()。[編集]lwburkのコメントのおかげで、Greasemonkey Hacks:WebとFirefoxをリミックスするためのヒントとツールのより詳細な説明があります。MarkPilgrim著:「ページのスタイルを変更する」セクション

于 2011-12-04T08:38:49.570 に答える
1

main.js から CSS を挿入するには、「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")
});
于 2013-03-30T17:51:06.930 に答える