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 の下に保存し、 keytaskListStoreの下にデータを取得しようとしていますloadTaskListStore

それに加えて、 StorageArea.get()のドキュメントによると、結果オブジェクトは、キーと値のマッピングにアイテムを持つオブジェクトです。したがって、あなたの場合、次のことを行う必要があります。

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