繁体   English   中英

Chrome.storage.local获取错误的值

[英]Chrome.storage.local get wrong value

我正在尝试从chrome.storage.local加载内容,但是它不起作用(它总是返回相同的结果,[对象对象])。 这是我的代码:

    function load()
{
    var loginC = "";
    chrome.storage.local.get('loginC', function(result){
    loginC = result;
        if (loginC != "") {
            document.getElementById("login").value = loginC;
        }
    });

    var passC = "";
    chrome.storage.local.get('passC', function(result){
    passC = result;
        if (passC != "") {
            document.getElementById("pass").value = passC;
        }
    });
}

load();

文档所述,回调将收到一个包含结果的对象:

callback参数应为如下所示的函数:

function(object items) {...};

object items

在其键值映射中包含项目的对象。

这样做是因为一个get操作可以检索多个值。

因此,通常,代码应如下所示:

chrome.storage.local.get('keyName', function(result) {
  /* use result.keyName */
});

您的代码可以简化为:

chrome.storage.local.get(['loginC', 'passC'], function(result) {
    if (result.loginC) { // Will catch both "" and undefined
        document.getElementById("login").value = result.loginC;
    }
    if (result.passC) {
        document.getElementById("pass").value = result.passC;
    }
});

get方法以{loginC: /*..*/ }格式返回result变量的对象。 使用result.loginCresult.passC来获取值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM