调用 chrome 存储 API 中的对象



我在制作需要跟踪用户总搜索量的 chrome 扩展程序时遇到问题。我的代码在内容脚本中创建一个对象,然后添加到该对象并将其存储在 chrome 存储中,但是每次内容脚本再次运行时,我都非常确定我的对象被重置为空对象。我的一个想法是在后台脚本中创建对象并将其放入存储中,然后在内容脚本中添加对象,但我遇到了内容脚本中未定义对象的问题,并返回到我最初拥有的对象。

以下是重要的我的内容脚本:

var dataObject = {
    "searches": [],
    "links": [],
    "time": []
};
var key = 'myKey';
    chrome.storage.sync.set({
        key: dataObject
    }, function() {
        console.log('Value is set to:');
        console.log(dataObject);
    });
    chrome.storage.sync.get(['key'], function(result) {
        console.log("Value is:");
        console.log(result.key);
    });

每次刷新页面时都会运行内容脚本,在内容脚本中,您首先将预定义的对象保存在 Chrome 存储中。即使在某些事件上更改了页面,它也会在每次页面刷新时重置。

溶液:您需要首先检查对象(myKey(是否保存在存储中,而不是应该向其添加新值。

请注意:扩展的内容脚本可以直接访问用户数据,而无需后台页。在此处阅读更多内容。

最新更新