2011-07-07 7 views
1

manifest.jsonのcontent_scriptエントリを使用してロードされたjavascriptで、background.htmlのローカルストレージに設定された値にアクセスできませんでした。これはlocalstorageのデフォルト機能ですか?または私は何かが欠けている。localStorage変数のスコープがbackground.htmlとcontent_script jsファイルの間で異なる

例えば、私がmyscript.jsの値を格納していて、それがmyscript.js内でアクセス可能なページロードごとに注入されている場合、background.htmlにアクセスしようとすると、定義されていません。

background.htmlでlocalstorageを設定し、myscript.jsでアクセスしようとすると同じことが起こります。作成または設定されたページまたはスクリプトでアクセスできなかったためです。

これはデフォルトの動作ですか、何か不足していますか?

+0

はまたhttp://stackoverflow.com/questions/3937000/chrome-extension-accessing-localstorage-in-content-script – studgeek

答えて

1

これがデフォルトの動作です。

通常のWebページに挿入されたコンテンツスクリプトは、内線のローカルストレージにアクセスできません。

拡張機能のマニフェストはローカルストレージにもアクセスできません。

またDo popup.html and background.html share the same local storage?

+0

を見るので、ときに我々は我々が使用する必要があるのlocalStorage値を必要とする、これまでsendrequest任意の値を取得します。私たちはcontent_scriptsからlocalstorageの値を保存していますか?ドメインと関連してアクセス可能なスコープ...スコープは開いている各ドメインに制限されますか? –

+0

abc.comの変数var samがabc.comのローカル変数になり、xyz.comの変数var samがxyz.comのローカル変数になります。そうですか? –

+0

私が理解しているように、注入されたコンテンツスクリプトはローカルストレージにアクセスできません。ですから、変数を設定または取得するには、メッセージを渡して背景ページと話す必要があります。コンテンツスクリプトの制限については、必ずhttp://code.google.com/chrome/extensions/content_scripts.htmlを参照してください。 –

関連する問題