0

我正在尝试保存一些即使重新启动浏览器也应该可用的数据所以这些数据应该保持不变。我Chrome Storage Sync为此使用 API。但是当我重新启动浏览器时,使用chrome.storage.get.

这是我的示例代码:

SW.methods.saveTaskListStore = function() {
  chrome.storage.sync.set({
    'taskListStore': SW.stores.taskListStore
  }, function() {
    if (SW.callbacks.watchProcessSuccessCallback) {
      SW.callbacks.watchProcessSuccessCallback(SW.messages.INFO_DATA_SAVED);
      SW.callbacks.watchProcessSuccessCallback = null;
    }
  });
};

SW.methods.loadTaskListStore = function() {
  SW.stores.loadTaskListStore = [];

  chrome.storage.sync.get('taskListStore', function(taskFeed) {
    var tasks = taskFeed.tasks; 

    if (tasks && !tasks.length) {
      SW.stores.loadTaskListStore = tasks;
    }
  });
};

我想我使用了错误的 API。

4

1 回答 1

1

如果这不是一些复制粘贴错误,那么您将存储在 key 下taskListStore并尝试在 key 下获取数据loadTaskListStore

除此之外,根据StorageArea.get()上的文档,结果对象是一个在其键值映射中包含项目的对象。因此,在您的情况下,您应该这样做:

chrome.storage.sync.get("taskListStore", function(items) {
    if (items.taskListStore) {
        var tasks = items.taskListStore.tasks;
        ...
于 2013-10-24T19:40:03.033 回答