Chrome.storage.sync.set из объекта JSON
Я пытаюсь сохранить в синхронизированном хранилище 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 - он просто сохраняется как имя_группы с пустым массивом. Итак, если я извлекаю эту информацию из хранилища и выхожу из нее, я получаю: