установить, а затем получить несколько входных значений, используя API хранилища Chrome
Я сохраняю значения ввода пользователя со страницы приветствия после прослушивания
click
событие на кнопке с идентификатором
ok_btn
используя chrome Storage API, используя следующий код:
let submit = document.getElementById("ok_btn");
submit.addEventListener("click", async () => {
let apiKey = document.getElementById("APIkey").value;
let letters = document.getElementById("numberOfLetters").value;
// console.log(apiKey);
await chrome.storage.sync.set({ 'CustomerApiKey': apiKey }, function () {
alert("APikey is set.")
});
await chrome.storage.sync.set({ 'numberOfLetters': letters }, function () {
alert("Letters value is set.")
});
});
Выполнение выше только устанавливает значение против
CustomerApiKey
. Я хочу сохранить значение
numberOfLetters
также. Я использую следующий код для
get
значение из хранилища:
const getCustomerApiKey = async () => {
return new Promise((resolve, reject) => {
// Asynchronously fetch all data from storage.sync.
chrome.storage.sync.get(null, (items) => {
// Pass any observed errors down the promise chain.
if (chrome.runtime.lastError) {
return reject(chrome.runtime.lastError);
}
resolve(items);
});
});
};
async function key() {
CustomerApiKey = await getCustomerApiKey();
// doLetters = await getCustomerApiKey('numberOfLetters');
console.log(CustomerApiKey);
// console.log(doLetters);
main(CustomerApiKey);
};
key();
Ниже приводится результат:
{CustomerApiKey: 'test_abcdefghijkl'}
CustomerApiKey: "test_abcdefghijkl"
[[Prototype]]: Object
Невозможно понять, почему он не показывает второй ключ в хранилище.