我试图从chrome.storage.local加载内容但它不起作用(它总是返回相同的结果,[object OBJECT])。 这是我的代码:
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();
答案 0 :(得分:1)
当documentation状态时,回调接收包含结果的对象:
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;
}
});
答案 1 :(得分:1)
get
方法返回{loginC: /*..*/ }
变量格式为result
的对象。使用result.loginC
和result.passC
获取值。