【问题标题】:Persist data on disk using chrome extension API使用 chrome 扩展 API 将数据保存在磁盘上
【发布时间】:2013-10-25 04:07:07
【问题描述】:

我正在尝试保存一些即使重新启动浏览器也应该可用的数据所以这些数据应该保持不变。我为此使用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。

【问题讨论】:

    标签: google-chrome-extension local-storage chrome-sync


    【解决方案1】:

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

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

    chrome.storage.sync.get("taskListStore", function(items) {
        if (items.taskListStore) {
            var tasks = items.taskListStore.tasks;
            ...
    

    【讨论】:

    • 是的 loadTaskListStore 是一个错字..编辑了问题..我认为你是对的我使用 API 的方式错误。让我再试一次你的建议
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2019-04-12
    相关资源
    最近更新 更多