我正在尝试保存到Chrome的同步存储,这是一个动态生成的JSON对象。
基本上,我正在运行查询以获取所有打开的标签:
function getTabs(){
var activeSession = [];
//Tab query with no parameters, returns all open tabs.
chrome.tabs.query({}, function(tabs){
//For each tab push to active session array
tabs.forEach(function(tab){
activeSession.push({'title': tab.title, 'url': tab.url});
});
});
return activeSession;
}
然后,我从用户输入获取此组标签的名称,构建一个JSON对象并将其保存到Chrome的同步存储中:
//Retrieve group name from input field
var group_name = document.getElementById('file_name').value;
//Call function to retrieve tabs and build JSON object.
var returned_tabs = getTabs();
var obj = {[group_name]: returned_tabs};
console.log(obj);
chrome.storage.sync.set(obj, function() {
chrome.storage.sync.get(function (data) {
console.log(data);
});
});
obj变量本质上是我正在寻找的结构,并按预期工作,如console.log(obj)所示。这样的输出:
但是,当我尝试将其存储在Chrome中时 - 它只是将group_name保存为空数组。所以,如果我将这些信息从存储中取出并将其注销,我会得到: