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

Фактический вывод

0 ответов

Другие вопросы по тегам