4

マニフェスト バージョン 2 を使用して Chrome 拡張機能に関する他のグローバル変数の質問を見てきましたが、何も見つかりませんでした。

2 つのファイルがあるとします。

// content.js

var myVariable = myVariable(someDiv);
var myVarWithGlobe = VarWithGlobe.fromVariable(myVariable);

// VarWithGlobe.js

var withGlobe = withGlobe || { };

withGlobe.WithGlobe = (function(global) {
    var myLocalVar = global.myVariable;
....

WithGlobe.fromVariable = WithGlobe;

どちらもweb_accessible_resources、content_scriptsに追加されますが、未定義であるため、2 番目のファイルの global.myVariable にアクセスできません。

VarWithGlobe.js の変更が許可されていない場合、どうすれば取得できますか?

4

2 に答える 2

5

コンテンツ スクリプトには独自の実行コンテキストがあります (実行中の Web ページ コンテキストとは異なります)。唯一の方法は、変数を使用してバックグラウンド ページとの間でメッセージをやり取りすることです。コードサンプルについては、この回答を確認してください

于 2013-09-17T15:45:05.823 に答える
-3

Chromium バージョン 35.0.1916.114 およびおそらくすべての最新の Chrome バージョンでは、Chrome コンソールでテストしているときにグローバル変数を保存できます。

たとえば、コード内の変数にconsole.log()を使用する場合、ブラウザ コンソールに表示されたら、変数を右クリックして[グローバル変数として保存]を選択することで保存できます。

お役に立てば幸いです。

于 2014-05-23T12:47:29.040 に答える