我正在构建Chrome扩展程序,但是我用于存储设置的Chrome存储API无法正常工作。我知道chrome.storage.sync.get是异步的,因此为什么我要放置任何后续代码来与在回调中获取数据有关。但是,当我使用零件以保存对设置的任何更改时,在存储区域中没有任何修改。
代码:
//load existing settings
document.getElementById("open-settings").addEventListener("click", function() {
console.log("Settings clicked")
chrome.storage.sync.get(['foo', "bar", "goo", "ber"], function(result) {
console.log(result);
for (key in result) {
console.log(key);
if (result[key]) {
document.querySelector('#list-switch-label-'+key).MaterialSwitch.on();
} else {
document.querySelector('#list-switch-label-'+key).MaterialSwitch.off();
}
}
})
})
//set new options
var settingsOptions = ['foo', 'bar', 'goo', 'ber']
document.getElementById("setting-save-button").addEventListener("click", function() {
for (i in settingsOptions) {
var switchStatus = document.getElementById("list-switch-"+settingsOptions[i]).checked;
console.log(switchStatus);
var key = settingsOptions[i];
console.log(key);
chrome.storage.sync.set({key:switchStatus});
}
})
我真的不太确定为什么不保存它,但是我确定它有些愚蠢而明显!
谢谢