0

私は現在拡張を行っており、スクリプトの一部が静的 (変更されない) であり、別の部分が Web サイトから読み込まれます。そして、私は2つの方法を見ています:

  1. XMLHttpRequest でロードして Web ページに挿入するには
  2. として配置し、<script src="example.com/myscript.js"></script>それ自体をロードさせるには

しかし、2 番目の方法では、おそらく拡張 API にアクセスできません (拡張ファイルで定義されている関数、つまりchrome://myext/script.js) 。

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

何か案は?

4

1 に答える 1

0

動的スクリプトにクロム特権を持たせたいと言っているのですか? その場合は、XMLHttpRequest を使用してロードし、ディスクに保存してから、JavaScript モジュールとしてインポートしてください (https://developer.mozilla.org/en/JavaScript_code_modules/Using)。Web からのスクリプトにほぼ無制限の特権を与えているため、明らかにセキュリティ上の考慮事項がありますが、スクリプトのソースを管理していれば、おそらく問題ありません。本当に心配な場合は、HTTPS を使用してスクリプトをダウンロードできます。これにより、誰かがトラフィックを傍受するのを防ぐことができます。

コードをコンテンツ権限で実行したいが、chrome JavaScript の関数にアクセスしたい場合は、次の記事で説明されているように、chrome 関数をコンテンツに公開する必要があるかもしれません: http://weblogs.mozillazine.org/weirdal/archives /017188.html

于 2011-08-02T07:52:18.293 に答える