[英]How can get object data that I've set in chrome.storage?
我正在構建一個Chrome擴展程序,並且試圖使用Chrome的chrome.storage API存儲對象的功能。 我已經成功設置了一個對象,但是當我嘗試獲取它時,似乎無法做到這一點。 這可能與chrome.storage無關緊要,而更多與我從JSON對象獲取數據的經驗不足有關。
這是我用來設置存儲對象的代碼。
var ids = { "a":1234, "b":5678 };
var obj= {};
var key = "MyChromeKey";
obj[key] = ids;
chrome.storage.sync.set(obj);
當我使用.get
,對象會出現在控制台中,就像我期望的那樣。 但是我無法終生想出如何從中獲得a
的價值。
chrome.storage.sync.get(key,function(result){
console.log(key,result); // MyChromeKey > Object {MyChromeKey: Object}
console.log(result["a"]); // undefined
console.log(key,result["a"]); // MyChromeKey undefined
});
任何幫助將不勝感激。
Chrome的存儲API將返回一個{{“ yourKeyName”:Object}形式的對象,因此要訪問該對象內的值,您必須先通過“ yourKeyName”級別,然后訪問基礎對象。 編輯:以這種格式返回它的原因是因為“您可以給定鍵數組,並且它返回具有所有這些鍵的值的對象。” (感謝SO用戶Barmar !)
result["MyChromeKey"]["a"]
適用於您的代碼。
callback
函數的result參數是一個標准Javascript
對象。
如果只想將其注銷到控制台,請在callback
函數中嘗試以下操作:
console.log(result[key]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.