我正在制作一个带有options.html页面的Chrome扩展程序.
在选项页面上,我有3个复选框.选中/取消选中其中一个复选框后,使用chrome.storage.sync.set()将该复选框的值保存到chrome.storage或从chrome.storage中删除.但是一旦使用chrome.storage.sync.get()保存数据,我似乎无法检索数据.
这是我的代码:
options.html:
<div class="checkboxes">
<input id="test1" name="test1" type="checkbox">
<input id="test2" name="test2" type="checkbox">
<input id="test3" name="test3" type="checkbox">
</div>
Run Code Online (Sandbox Code Playgroud)
options.js:
$(document).ready(function() {
var storage = chrome.storage.sync;
//Retrieve existing settings
$(':checkbox').each(function() {
$(this).prop('checked', function() {
var name = this.name;
storage.get(name, function(test){
console.log(test[name]);
});
});
});
$(".checkboxes").on("change", ":checkbox", saveSettings);
//Save or delete settings
function saveSettings() {
var name = this.name;
if($(this).is(':checked')) {
storage.set({name:'checked'},function(){
console.log("saved");
});
}
else {
storage.remove(name, function(){
console.log("removed");
});
}
}
});
Run Code Online (Sandbox Code Playgroud)
以上产出: …