我正在使用URLarry
中的chrome.storage.sync.set存储数组background.js
,并从options.js
访问它。一切都运行得很好。我可以毫无问题地使用URLarray
中的options.js
。
但是当我关闭chrome并重新打开它时,所有数据都会消失。请指教。
background.js
save["myKey"] = URLarray;
chrome.storage.sync.set(save, function() {
// console.log('Settings saved');
});
URLarray填充如下:
URLarray.push({website: websiteName, time:0, startTime:0, endTime:0});
options.js
chrome.storage.sync.get('myKey', function (obj) {
// console.log('myKey', obj);
x = obj.myKey;
console.log(x);
}
的manifest.json
{
"name": "Animated Page Action",
"description": "This extension adds an animated browser action to the toolbar.",
"version": "1.2",
"background": {
"scripts": ["jquery-3.1.1.min.js","background.js"]
},
"page_action": {
"default_title": "First icon",
"default_icon": "icon_0.png"
},
"options_page": "options.html",
"permissions": ["tabs","storage"],
"manifest_version": 2
}
答案 0 :(得分:1)
您的后台代码(此处未包含)从未实际读取数据。
然而,写数据,使用您显示的片段,该片段由空数组初始化。
因此,每次再次打开扩展时,后台数据为空,并覆盖已保存的数据。要解决此问题,您必须先从存储中执行后台URLarray
的初始化。