Когда вы устанавливаете объект, имя ключа устанавливается только на key
. Но у вас возникла проблема, потому что вы пытаетесь получить доступ к ключевому имени obj
, которого не существует. Вы можете получить доступ к значению ключа следующим образом:
const obj = { key: 'value'}
chrome.storage.local.set(obj);
chrome.storage.local.get(['key'], result => {
console.log(result.key) // returns 'value'
})
Для получения дополнительной информации:
Для хранения объекта в chrome.storage
:
const name: {
first: 'Bob',
last: 'Smith'
}
chrome.storage.local.set({ key: name });
chrome.storage.local.get(['key'], result => {
console.log(result.key) // returns { first: 'Bob', last: 'Smith' }
console.log(result.key.first)
console.log(result.key.last)
})
Вы также можете деструктурировать объект result
, чтобы получить ключи, такие как:
chrome.storage.local.get(['key'], ({key}) => {
console.log(key) // returns { first: 'Bob', last: 'Smith' }
console.log(key.first)
console.log(key.last)
})
Получить все содержимое хранилища
Как указано в документации :
Один ключ для получения, список ключей для получения или словарь с указанием значений по умолчанию (см. описание объекта). Пустой список или объект вернут пустой объект результата. Введите нулевое значение, чтобы получить все содержимое хранилища.
chrome.storage.local.get(null, function(items) {
var allKeys = Object.keys(items);
console.log(allKeys);
});