Chrome.storage.sync.set无法保留,sync.get可以正常工作

时间:2018-08-08 16:00:26

标签: javascript google-chrome google-chrome-extension

我正在构建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});
  }
})

我真的不太确定为什么不保存它,但是我确定它有些愚蠢而明显!

谢谢

0 个答案:

没有答案