2013-10-24 42 views
0

我試圖保存一些即使在重新啓動瀏覽器時應該可用的數據,因此這些數據應該保留。我正在使用Chrome Storage Sync API。但是,當我重新啓動瀏覽器時,使用chrome.storage.get時會出現空對象。使用Chrome擴展在磁盤上保存數據API

這裏是我的示例代碼:

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。

回答

1

如果這不是一些複製粘貼錯誤,您正在存儲在密鑰taskListStore下並嘗試獲取密鑰loadTaskListStore下的數據。

除此之外,根據上StorageArea.get()的文檔,其結果對象是對象在它們的鍵 - 值映射物品。因此,在你的情況下,你應該這樣做:

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

yep loadTaskListStore是一個錯字..編輯的問題..我認爲你是對的我使用API​​錯誤的方式。讓我再試一次您的建議 – sachinjain024

+0

感謝您收到我的錯別字..謝謝很多人:) – sachinjain024

相關問題