小编Mar*_*nda的帖子

将chrome扩展选项保存到chrome.storage?

我正在制作一个带有options.html页面的Chrome扩展程序.

在选项页面上,我有3个复选框.选中/取消选中其中一个复选框后,使用chrome.storage.sync.set()将该复选框的值保存到chrome.storage或从chrome.storage中删除.但是一旦使用chrome.storage.sync.get()保存数据,我似乎无法检索数据.

这是我的代码:

options.html:

<div class="checkboxes">
    <input id="test1" name="test1" type="checkbox">       
    <input id="test2" name="test2" type="checkbox">
    <input id="test3" name="test3" type="checkbox">
</div>
Run Code Online (Sandbox Code Playgroud)

options.js:

$(document).ready(function() {

  var storage = chrome.storage.sync;

  //Retrieve existing settings
  $(':checkbox').each(function() {
    $(this).prop('checked', function() {
      var name = this.name;
      storage.get(name, function(test){
        console.log(test[name]);
      });
    });
  });

  $(".checkboxes").on("change", ":checkbox", saveSettings);

  //Save or delete settings
  function saveSettings() {
    var name = this.name;   

    if($(this).is(':checked')) {
      storage.set({name:'checked'},function(){
        console.log("saved");
      });
    }
    else {
      storage.remove(name, function(){
        console.log("removed");
      });
    }
  }

});
Run Code Online (Sandbox Code Playgroud)

以上产出: …

javascript jquery google-chrome-extension

1
推荐指数
1
解决办法
4710
查看次数