从Chrome localStorage检索数据

时间:2016-08-10 14:55:01

标签: javascript google-chrome

我有一个存储对象的Array,每个对象都包含另一个数组。我正在使用Chrome Storage API来存储这些对象(用于扩展)。写入数据工作正常,但我似乎无法提取我需要的数据:

写入存储:

function writeToStorage(form) {
  var formObjectsArr = [];
  var data = [];
  var formData;
  $(':input', '#' + form)
      .each(function() { data.push(this.value); })
      .promise()
      .done(function() {
        var formData = new Form(data);
        formObjectsArr.push(formData);
        chromeStorage(formObjectsArr);
      });
}

function chromeStorage(formObjectsArr) {
  chrome.storage.sync.set({list:formObjectsArr}, function() {
    console.log('Settings saved');
  });
}

function Form(data) { this.data = data; }

从存储中读取(不知道该怎么做 - 当前函数只返回一个对象,该对象包含一个数组,其中包含我要访问的数组的对象):

function getFromStorage() {
  chrome.storage.sync.get({list:[]}, function(test) {
    console.log(data)
  });
}

1 个答案:

答案 0 :(得分:0)

您可以指定字符串,字符串数组或对象字典,以检索存储在chrome扩展程序的本地或同步存储中的数据。由于您只想检索list键控数据,因此您只需使用字符串作为sync.get方法的第一个参数。

function getFromStorage() {
  chrome.storage.sync.get("list", function(data) {
    console.log(data);
  });
}