chrome.storage.sync не удалось установить и получить - PullRequest
0 голосов
/ 10 мая 2018

Я не могу сохранить и получить данные, когда я помещаю какие-либо данные и нажимаю кнопку, ничего не происходит и не сохраняется данные.

Просто хочу сохранить 2 значения

  1. APIkey
  2. включен или нет флажок

и сохраните их

Мой main.js для опций

function saveSettings(e) {
chrome.storage.sync.set({
    apiKey: apiKey.value,
    isEnabled: isEnabled.checked

});
}

function restoreSettings(e) {
chrome.storage.sync.get("apiKey").then(
    function(result) {
        alert('working');
        apiKey.value = result.apiKey || "";
    },
    function(error) {
        console.log(error);
    }
);
chrome.storage.sync.get("isEnabled").then(
    function(result) {
        isEnabled.checked = result.isEnabled
    },
    function(error) {
        console.log(error);
    }
);
}



//restoreSettings();
//saveButton.addEventListener("click", saveSettings);

document.addEventListener('DOMContentLoaded', restoreSettings);
document.getElementById('saveButton').addEventListener('click',
saveSettings);

И мой HTML

<!DOCTYPE html>
<html>
<head>

<title>Plugin Options</title>

</head>
<body>

<img src="/icons/img1.png">

<div>

<form style="background-color:#000a1a">


    <h3>Change Settings</h3>
    <label>API Key : <input type="text" id="apiKey" /></label><br />
    <label>Enabled : <input type="checkbox" id="isEnabled" /></label><br />
    <input type="button" value="Save Settings" id="saveButton" class="button" />


</form>
</div>
<script src="main.js"></script>
</body>
</html>

Я тоже пробовал chrome.storage.local спасибо за помощь

1 Ответ

0 голосов
/ 10 мая 2018

Сначала убедитесь, что в манифесте установлены правильные разрешения:

"permissions": [
        "storage"
    ]

затем, чтобы получить значение:

chrome.storage.sync.get('myvalue', function(res){
})

где res.myvalue будет содержимым, которое вы ищете.

Чтобы установить значение, выполните:

chrome.storage.sync.set({'myvalue': true})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...