chrome.storage.sync无法设置和获取

时间:2018-05-09 23:54:03

标签: google-chrome-extension google-chrome-devtools

当我输入任何数据时,我无法保存和获取数据,点击按钮没有任何反应,也没有保存数据。

只想保存2个值

  1. APIkey
  2. 启用或不启用复选框
  3. 并保存

    我的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 :(得分:0)

首先确保您在清单中设置了正确的权限:

"permissions": [
        "storage"
    ]

然后得到一个值:

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

其中res.myvalue将是您要查找的内容。

设置值为:

chrome.storage.sync.set({'myvalue': true})