0

私は主要な初心者なので、これについてできる限り説明します。とにかく、私は拡張機能開発の手順を学んでおり、GreasemonkeyスクリプトとFirefoxアドオンの要素を融合させたいと思っていました。Skinこれまでのところ、なんとか機能させることができましたが、スクリプトポイントからChrome:フォルダーに画像とCSSファイルを作成する方法がわからないようです。
現在のコードは次のとおりです。

var newstyle = document.createElement('link');
newstyle.rel = 'stylesheet';
newstyle.href = 'http://example.com/test.css';
newstyle.type = 'text/css';
document.getElementsByTagName('head')[0].appendChild(newstyle);

function main(){
var assets = Math.floor(Math.random()*8);
$('<div id="jumpFloatingButton" style="width:80px;height:30px;background-color:#21a0f1;background-image:url(http://colourlovers.com.s3.amazonaws.com/images/patterns/2757/2757110.png);position:fixed;right:0px;bottom:0px;background-attachment: scroll;cursor: pointer;"></div>').insertAfter('body *:last');
$('<div id="jumpFloating" style="width:400px;height:500px;position:fixed;bottom:30px;right:0px;border:1px solid black;background-image:url(http://colourlovers.com.s3.amazonaws.com/images/patterns/2757/2757110.png);"><ul id="jumpFloatingList" style="overflow:auto;max-height:500px;max-width:400px;margin-left:0px;"></ul></div>').insertAfter('#jumpFloatingButton');

上記のコードのリンクは、他のソースからリンクされたファイルの例です。私が知りたいのは、他のURLではなく、アドオンのフォルダー内からリンクポイントを作成するにはどうすればよいですか?好き:

newstyle.href = 'chrome://folder/skin/overlay.css';

または

$('<div id="jumpFloatingButton" style="width:80px;height:30px;background-color:#21a0f1;background-image:url(chrome://folder/skin/image.jpg);position:fixed;right:0px;bottom:0px;background-attachment: scroll;cursor: pointer;"></div>').insertAfter('body *:last');

Netbeansを使用しています。私のマニフェスト

content file jar:chrome/file.jar!/content/
skin special classic/1.0 jar:chrome/special.jar!/skin/ contentaccessible=yes

私は試した

var newstyle = document.createStyleSheet('overlay.css');
newstyle.rel = 'stylesheet';
newstyle.href = 'chrome://nb/skin/overlay.css';
newstyle.type = 'text/css';
document.getElementsByTagName('head')[0].appendChild(newstyle);

document.createStyleSheetを追加すると修正されますか?私の編集

$('<div id="imagestack" style="width:304px;height:64px;background-image:url("chrome://special/skin/nav.png");
4

1 に答える 1

1

Web からアクセス可能としてマークchrome://folder/する必要があります。そうしないと、Web ページはそれをロードできません。あなたはすでにそれをしようとしたようですが、エントリに追加しました。ドキュメントには次のように記載されています。chrome.manifestcontentaccessible=yesskin

contentaccessible フラグはコンテンツ パッケージにのみ適用されます。ロケールまたはスキンの登録では認識されません。ただし、一致するロケールとスキン パッケージもコンテンツに公開されます。

これは、chrome パッケージの一部を Web からアクセスできるものとしてマークできないためです。すべて (コンテンツ、スキン、ロケール) か、何もないかのどちらかです。したがって、次のchrome.manifestようになります。

content file jar:chrome/file.jar!/content/ contentaccessible=yes
skin special classic/1.0 jar:chrome/special.jar!/skin/
于 2012-07-29T16:41:23.877 に答える