我正在使用 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"
]
}