Chrome 扩展:无法取回我存储的数据

Chrome extensions : cannot get back my stored datas

我尝试从我的 chrome 扩展中保存数据:

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) {
      chrome.storage.sync.set(request, function() {
        chrome.storage.sync.get(null, function(datas) {
            console.log(datas);
            console.log("background");
            sendResponse(datas);
        })
      });
    }
 );

每次收到消息时,我都会存储这条消息,然后发送所有已保存的项目作为回复。

在这段代码中,在控制台中,显示 background 但数据为空(控制台中没有任何内容)

当我 console.log(request) 我的 json 对象没问题时。

在这段代码中,为什么datas是空的?

谢谢

当您 store/retreive 您的数据时,您应该 provide/request 一个密钥:

chrome.storage.sync.set({
   MyRequest: request
}, function(){
   chrome.storage.sync.get{
       MyRequest: null
   }, function(data){
      console.log(data.MyRequest);
   }
});

还要确保您拥有在清单文件中声明的 "storage" 权限:

"permissions": ["storage"]