我正在尝试将动态生成的 JSON 对象保存到 Chrome 的同步存储中。
本质上,我正在运行查询以获取所有打开的选项卡:
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。因此,如果我将此信息从存储中拉出并注销,我会得到: