Google Chrome扩展程序的此代码不起作用。我是Javascript的新手,我不确定问题是什么。任何帮助将不胜感激。
JS / jQuery的
var userV = serviceName + 'Username';
var passV = serviceName + 'Password';
boolean works = true;
var User = {
passV: password,
userV: username,
works = true;
}
chrome.storage.sync.set({User : userV}, function() {
console.log('');
});
chrome.storage.sync.set({User : passV }, function() {
console.log('');
});
脚本
chrome.storage.sync.get("userV", function (User) {
sUsername = User.userV;
};
chrome.storage.sync.get("passV", function (User) {
sPassword = User.passV;
};
感谢您的帮助。
答案 0 :(得分:1)
在您的代码中,您将用户和密码存储在相同的密钥名称中,因此您将只获得最后分配的值,
以及按值而非按键检索值
JS / jQuery
var userV = serviceName + 'Username';
var passV = serviceName + 'Password';
boolean works = true;
var User = {
passV: password,
userV: username,
works = true;
}
chrome.storage.sync.set({User : userV}, function() {
console.log('');
});
chrome.storage.sync.set({Pass : passV }, function() {
console.log('');
});
脚本
chrome.storage.sync.get("User", function (data) {
sUsername = data.User;
};
chrome.storage.sync.get("Pass", function (data) {
sPassword = data.Pass;
};
答案 1 :(得分:0)
为了更加简化,您可以将整个User对象存储到存储中。如果要存储用户数据,代码如下:
var userV = serviceName + 'Username';
var passV = serviceName + 'Password';
boolean worksV = true;
var user = {
password: passV,
username: userV,
works: worksV
};
chrome.storage.sync.set({"user" : user}, function() {
// Do something...
});
然后,当您想要检索存储的数据时,代码为:
chrome.storage.sync.get("user", function(data) {
var user = data.user;
var passV = user.password;
var userV = user.username;
var worksV = user.works;
// Do something...
});
我认为您不需要将每个数据项存储为每个属性。我建议将它存储为一个对象。