从 chrome.storage.sync 保存和检索 [英] saving and retrieving from chrome.storage.sync

查看:43
本文介绍了从 chrome.storage.sync 保存和检索的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在 chrome 同步存储中保存一个数据对象,然后检索它,但是 get() 函数总是返回一个空对象.我使用的代码是,

I am trying to save a data object in chrome sync storage and then retrieve it, however the get() function always returns an empty object. The code I am using is,

function storeUserPrefs() {
    var key='myKey', testPrefs = {'val': 10};
        chrome.storage.sync.set({key: testPrefs}, function() {console.log('Saved', key, testPrefs);});
}

function getUserPrefs() {
    chrome.storage.sync.get('myKey', function (obj) {
        console.log('myKey', obj);
    });
}

有人能告诉我我在这里做错了什么吗?

Could someone please tell me what I am doing wrong here?

推荐答案

问题出在 chrome.storage.sync.set({key: testPrefs}

您的数据存储为

{
    key: "{"val":10}"
}

因此,您的代码 chrome.storage.sync.get('myKey') 返回 undefinedempty object.

So, your code chrome.storage.sync.get('myKey') return undefinedempty object.

使用字符串 "key" 作为您的密钥

Use string "key" as your key

chrome.storage.sync.get("key", function (obj) {
    console.log(obj);
});

通过"myKey" Key设置数据.

Set data through "myKey" Key.

chrome.storage.sync.set({"myKey": testPrefs})

PS :不要忘记 chrome.storage.sync 是永久存储 API,请使用 chrome.storage.sync.clear 在进行任何进一步测试以查看更改之前

P.S : Don't forget chrome.storage.sync is permanent storage API, Use chrome.storage.sync.clear before any further testing to see changes

使用此代码在 Chrome.storage 中设置变量值

Use this code to set variable value in Chrome.storage

function storeUserPrefs() {
    var key = "myKey",
        testPrefs = JSON.stringify({
            'val': 10
        });
    var jsonfile = {};
    jsonfile[key] = testPrefs;
    chrome.storage.sync.set(jsonfile, function () {
        console.log('Saved', key, testPrefs);
    });

}

它产生以下输出

Object{
    myKey: "{"val":10}"
}

这篇关于从 chrome.storage.sync 保存和检索的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆