1

я не могу показаться, чтобы выяснить, почему это не кажется, что экономия при перезагрузке страницы (даже если это, кажется, сохранение объекта в хранилище.не chrome.storage.sync экономить правильно

Вот соответствующий код:

options.js

function saveSettings(){ 
var settings = { 
    "blockComments": document.querySelector("input[name='BlockComments']:checked"), 
    "visualDisplay": document.getElementById("visualDisplay").options[document.getElementById("visualDisplay").selectedIndex], 
    "shortcut": document.querySelectorAll("[data-shortcut-key] option:checked") 
}; 
// Store options object 
chrome.storage.sync.set({"data": settings}, function() { 
    // Update status to let user know options were saved. 
    var status = document.getElementById('status'); 
    status.textContent = 'Options saved.'; 
    setTimeout(function() { 
     status.textContent = ''; 
    }, 2000); 
}); 
} 
// This is called on DOMContentReady and is triggered 
function restoreSettings(){ 
    chrome.storage.sync.get("data", function(items) { 
    console.log(items.data); // Returns empty object(s) 
    }); 
} 

то, что console.log дисплеи:

enter image description here

Не знаете, почему они пусты. Любая помощь?

ответ

1

Вы пытаетесь сохранить узлы DOM (которые не являются JSON-сериализуемыми).

Извлечь нужные вам свойства и сохранить их, например.

// Returns true or false 
document.querySelector("input[name='BlockComments']).checked 

вместо

// Returns an element or nothing depending on its state 
document.querySelector("input[name='BlockComments']:checked") 
+0

Спасибо, я заметил, что я мог бы получить свойства, но причина, я пытался получить объект, потому что я хотел изменить его (например, на странице Параметры перезагрузки, установите переключатель быть в зависимости от того, какой из них был сохранен пользователем, а также получить его значение). Любой способ сделать это или сделать просто свойство по свойству? – user2381114

+0

Просто пойдите с наборами свойств, в которых вы нуждаетесь. Вид вроде здесь: https://developer.chrome.com/extensions/optionsV2#step-2 – Xan

Смежные вопросы