Javascript 如何使用chrome.storage extension

Javascript 如何使用chrome.storage extension,javascript,google-chrome-extension,google-chrome-storage,Javascript,Google Chrome Extension,Google Chrome Storage,我的扩展弹出页面从沙盒页面和脚本的消息中获取数据。我需要将其存储在chrome.storage中,最好使用storage.sync方法。我得到了这个错误: 未捕获的TypeError:无法读取未定义的属性“sync” 我已经在manifest.json中添加了存储权限 。。。“权限”:[“存储”]。。。 谷歌还表示,不需要背景脚本: 引用:扩展的内容脚本可以直接访问用户数据,而无需后台页面 我忽略了什么?提前谢谢 function receiveMessage(event) {

我的扩展弹出页面从沙盒页面和脚本的消息中获取数据。我需要将其存储在chrome.storage中,最好使用storage.sync方法。我得到了这个错误: 未捕获的TypeError:无法读取未定义的属性“sync”

我已经在manifest.json中添加了存储权限

。。。“权限”:[“存储”]。。。

谷歌还表示,不需要背景脚本:

引用:扩展的内容脚本可以直接访问用户数据,而无需后台页面

我忽略了什么?提前谢谢

function receiveMessage(event) {
        var data = event.data;
        saveToStorage(data);
    };

window.addEventListener("message", receiveMessage, false);

function saveToStorage(data)
{
    if (!data) {
        console.log('Error: No value specified. Nothing saved to storage.');
        return;
    }

    chrome.storage.sync.set({'data': data}, function() {
        console.log('Data saved to storage.');
    });
};

在测试新的扩展之前,一定要重新加载扩展。我以前从未重新加载过它,因为它不是必需的,直到现在:)
另外,chrome.runtime.lastError也非常方便

添加新权限后是否重新加载扩展?代码正确,您应该能够使用它。虽然使用
sync
存储,但我建议检查
chrome.runtime.lastError
,因为配额的原因。另外,请查看是否重新加载了扩展名和包含内容脚本的页面。重新加载了所有内容,现在就可以工作了。有时候就这么简单,而我就是这么愚蠢:)我讨厌同样的问题,我确实重新加载了所有的东西。