我有一個函數從chrome.storage獲取數據並將其加載到一個數組中,如果我使用一行代碼將一個空數組保存到chrome.storage中,一切正常然後在將擴展名用作用戶之前將其取出。檢查數據是否已經存在於chrome.storage.sync中
的問題是,用戶無法做到這一點,如果我開始延長,第一次沒有這樣做那麼它看起來像鉻傳回未定義到這會導致這個錯誤的變量:
"Uncaught TypeError: Cannot read property '8' of undefined"
在這一行:
if (SavedReminders[i][8] == "Full") {
我不完全知道究竟是怎麼回事,但我想,如果有一種方法來檢查,如果數據chrome.storage已經存在或保存空的方式數組只是第一次用戶打開將fi的擴展x it。
這是我的裝載功能:
function LoadFromFile() {
reminds = {}
chrome.storage.sync.get({ reminds: [] }, function (result) { SavedReminders = result.reminds });
}
和保存功能:
function SaveToFile() {
reminds={}
chrome.storage.sync.set({reminds:SavedReminders },
function() {
console.log(SavedReminders, reminds);
});
}
任何幫助,將不勝感激,謝謝。
「您可以將對象傳遞給api,併爲每個鍵使用默認值。」 ,...... 怎麼樣? – sports 2015-09-14 22:02:52
Ive更新了答案 – 2015-09-14 22:15:27
「will return obj」 - 你的obj在哪裏?你確定這有效嗎?嘗試在Firefox 48'all = chrome.storage.StorageArea.get({foo:「hi」,bar:「there」});'凍結了我的調試器 – user1141649 2016-07-10 16:37:58