我正在尝试将字典对象列表保存在 chrome 存储中。但是以下代码似乎无法按预期工作。
当扩展第一次加载并且存储中没有goal
对象时,runtime.lasterror
应该设置对象并执行该部分中的代码。但事实并非如此。
当我取消注释该chrome.storage.sync.set
行并保存对象时,下次我调用期望它保存列表的函数时,它不会。它不提供任何警报框。
function isPgUrl(pg_url,gl_name) {
if(pg_url && gl_name) {
dic_url={
"name":gl_name,
"pg_url":pg_url
}
//chrome.storage.sync.set({"goal":[dic_url]});
chrome.storage.sync.get(["goal"], function(data) {
if(chrome.runtime.lastError) {
chrome.storage.sync.set({"goal":[dic_url]},function() {
alert("blah");
});
alert("here");
return;
}
var list=data.goal;
list.append(dic_url);
alert(list);
chrome.storage.sync.set({"goal":list},function() {
alert("lalala");
return;
});
});
}
}