2011-08-06 5 views
1

Firefoxのカスタムプラグインを開発しています。このプラグインの関数の1つには、クリックすると別のdiv要素の表示/非表示を切り替える必要があるボタンがあります。これは、Javascript関数の手段によって実現されます。関数自体は、プラグインにもパッケージされているファイル内にあります。クロムのURLでHEADにJavaScriptを読み込む

div要素はブラウザページにあるので、この関数のJavascriptをクロムURLを使用してページのHEADにロードしようとしています。しかし、それは望ましい結果を与えていません。

トグル動作を実行し、実際のJavascript:

以下は関連するコードの抜粋です。これのクロムURLは次のとおりです。chrome://firefox_extension/content/togglerowz.jsこのURLをブラウザに挿入すると、下のコードを表示できます。

これをブラウザHEADにロードする別のJavascript。これは、ウィンドウロードイベントによってトリガーされます。

ページが読み込ま(Firebugの中で見て)、以下の内容は、ページのHEAD要素である
var doc = aEvent.originalTarget; 
var togglerowzscript = doc.createElement("script"); 
togglerowzscript.type = "application/javascript"; 
togglerowzscript.src = "chrome://firefox_extension/content/togglerowz.js"; 
var headvar = doc.getElementsByTagName("head")[0]; 
headvar.appendChild(togglerowzscript); 

:私はボタンをクリックすると

エラーコンソールは、トグルが定義されていないと言います。

答えて

2

信頼できるコンテンツの一部を読み込むことを許可したとして、関連するクロムパッケージをホワイトリストに入れましたか?デフォルトの設定では、さまざまなセキュリティとプライバシーの理由からその設定を許可しません。 https://developer.mozilla.org/en/chrome_registration#contentaccessible

+0

この入力をありがとう!だから私のプラグインフォルダがfirefox_extensionで、スクリプトがその中のchromeフォルダにあるなら、chorme.manifestファイルを修正し、 "firefox_extension chrome/contentaccessible = yes"のような行を追加する必要がありますか?あるいは、それを個々のスクリプトファイルに適用する方法はありますか? –

+1

@Sagar Vすでにchrome.manifestにそのような行があるはずです。 'contentaccessible = yes'を追加するだけです。一部のファイルにのみ適用したい場合は、それらのファイルを別々のクロムパッケージに入れる必要があります。拡張機能は、chrome.manifest経由で複数のchromeパッケージにマッピングできます。 –

+0

ありがとうございました!今私のために働いています。 –

関連する問題