2011-08-01 6 views
0

私は今、拡張機能を使っています。私は静的(決して変更されません)とウェブサイトから読み込まれる別の部分のスクリプトを1部持っています。そして、私は2つの方法を見ている:Firefoxの拡張機能で動的スクリプトを挿入する

  1. はXMLHttpRequestをして、それをロードし、<script src="example.com/myscript.js"></script>としてそれを入れて、それはそれを

しかし、第二に、それ自体をロードさせるには

  • Webページにを注入するには私の拡張API(拡張ファイルで定義された関数、つまり chrome://myext/script.js)にアクセスすることはできません。

    gBrowser.contentWindow.wrappedJSObjectオブジェクトのコードを評価する必要があるため、最初の方法はおそらく安全ではありませんロードされたページのWindowオブジェクト

    アイデア?

    答えて

    0

    ダイナミックスクリプトにクロム権限が必要だと言っていますか?その場合は、XMLHttpRequestを使用してロードし、ディスクに保存してからJavaScriptモジュール(https://developer.mozilla.org/ja/JavaScript_code_modules/Using)としてインポートしてください。明らかにセキュリティ上の考慮事項があります。なぜならWebからほとんど無制限の特権を与えられたスクリプトを提供しているからです。しかし、スクリプトのソースを制御すればおそらく大丈夫です。あなたが本当に心配しているなら、HTTPSを使ってスクリプトをダウンロードすることができます。これは、誰かがトラフィックを傍受するのを防ぎます。

    あなたはコードがコンテンツの権限で実行していませんが、クロム、JavaScriptで機能へのアクセスを持っているしたい場合は、多分あなたは、この記事で説明したように、コンテンツにクロームの機能を公開したい:私は見http://weblogs.mozillazine.org/weirdal/archives/017188.html

    +0

    ああ、そうディスクに保存する可能性はありますか?あなたは何か知っていますか? –

    +0

    また、読み込まれた各ページにこのスクリプトを挿入する必要がありますが、 'Components.utils.import'が内側のページではなくxulでスクリプトをインポートすると思います。 –

    +0

    さて、元の答えに新しい提案を追加しました今あなたがしようとしていることが分かりました。 –

    関連する問題