バックグラウンド ページを必要とせずにユーザーのデータ ストレージにアクセスできるようにする chrome.storage API を使用しています。
https://developer.chrome.com/stable/extensions/storage.html
拡張機能は特定のページでは正常に機能していますが、別の URL のページで拡張機能が読み込まれたときにアクセスできないようにデータが保存されているようです。
基本的なデータ取得コード:
var key = 'commonKey';
chrome.storage.sync.get(key, function(items) {console.log(items);}
http://test.com/ABCのような URL でコンテンツ スクリプトを照合していますが、データはそのページを何度も読み込んでも正しく保持されます。ただし、http://test.com/CDEをロードすると、別のデータ セットが取得および設定されます (ページ ABC にロードされたデータには影響しません)。
URL ごとにデータの名前空間を指定する動作はありますか? ドキュメントやその他の質問に目を通しましたが、そのようなものは見つかりませんでした。
マニフェストは次のようになります。
{
"name": "Test script",
"manifest_version": 2,
"content_scripts" : [
{
"matches": ["http://www.test.com/*"],
"js": ["jquery.min.js", "contentscript.js"]
}
],
"permissions": [
"storage"
]
}