1

オプションページ(マニフェストで宣言)を使用してChrome拡張機能を作成しています。別のファイルに次のように定義されたオブジェクトがあります。

function MyObject() {
    …
}

次を使用して「エクスポート」します。

window.MyExtension = {};
window.MyExtension.MyObject = MyObject;

次に、次を使用して、拡張機能のメイン ファイルに他のオブジェクトを構築できます。

new MyExtension.MyObject();

それは正常に動作します。

しかし、オプション ページでこのオブジェクトを使用したいと考えています。スクリプトが読み込まれていないことがわかったので、スクリプト タグを作成して本文に追加しようとしました。console.log() の出力を確認できたので、スクリプトは実行されますが、オプション ページで「new MyObject」を使用してオブジェクトを作成できません。これは、サンドボックス化またはそのようなものが原因であると思われます.MyObjectを定義するスクリプトのウィンドウオブジェクトは、オプションページと同じであってはなりません.

しかし、どうすれば MyObject への参照を取得できますか? ただし、必要なコードをコピーして貼り付けることはできますが、DRY についてはどうでしょうか。これを行う良い方法がないとは信じられません。

うまく説明できれば幸いです。ありがとう、

cギル。

4

1 に答える 1

0

chrome.extension.getURL()オプションページは拡張機能に含まれているため、を使用して含めないでください。次のようにします。

<script src="myscript.js"></script>

これはうまくいくはずです。;)

于 2012-06-03T19:55:24.940 に答える