如何使用 chrome.storage 扩展

How to use chrome.storage extension

我的扩展程序弹出页面从沙盒页面和脚本的消息中获取数据。我需要将其存储在 chrome.storage 中,最好使用 storage.sync 方法。我收到此错误: 未捕获类型错误:无法读取未定义的 属性 'sync'

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

... "permissions": ["storage"], ... chrome.storage.sync undefined?

Google 也说明不需要后台脚本: https://developer.chrome.com/extensions/storage

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

我忽略了什么?提前致谢!

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 也派上用场了!