[英]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.loginC
和result.passC
来获取值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.