简单的任务。用户可以在Google chrome扩展程序内部输入其登录表单,然后单击按钮-登录,然后我应该将该登录名保存到存储中。下次,当用户打开扩展名时,登录名应出现在输入中。用户可以通过输入新的登录结束单击按钮来更改它。问题在于getChanges没有收到任何东西。
HTML:
<!doctype html>
<html>
<head>
<script src="jquery.min.js" type="text/javascript"></script>
</head>
<body>
<input type="text" id="login" placeholder="login">
<button id="doLogin">Login</button>
<script src="popup.js"></script>
</body>
</html>
popup.js:
document.getElementById("doLogin").addEventListener("click", doLogin);
var extratedLogin= getChanges('myLogin');
$('#login').val(extratedLogin);
function getChanges(name) {
chrome.storage.local.get(name, function(result) {
console.log('myLogin= '+JSON.stringify(result));
return result.key;
});
}
function saveChanges(name,value) {
chrome.storage.local.set({name: value}, function() {
console.log('Settings saved for '+ name);
});
}
function doLogin(){
//do something
saveChanges('myLogin', $('#login').val());
}
manifest.json:
"permissions": ["storage", ...]
答案 0 :(得分:0)
错误是语法。这是正确的保存和加载
window.onload = function() {
chrome.storage.local.get(['mylogin'], function(items) {
console.log('Settings retrieved ', items);
$('#login').val(items['mylogin']);
});
}
function doLogin(){
chrome.storage.local.set({'mylogin': $('#login').val()}, function() {
console.log('Fields data was saved.');
});
}