Google chrome extension 在Chrome扩展中跨Chrome选项卡/浏览器保存复选框的状态

Google chrome extension 在Chrome扩展中跨Chrome选项卡/浏览器保存复选框的状态,google-chrome-extension,Google Chrome Extension,我正在创建一个通过快捷方式激活的chrome扩展。基本上,在您所在的页面上创建了一个有几个问题的div。每个答案都有一个复选框 然后,用户可以选择一个或几个答案,需要转到另一个页面/选项卡,他/她可以选择更多或更少的选项 问题是,一旦在其他选项卡中激活此扩展,用户从其他选项卡单击的所有复选框都不会传递到新选项卡(尽管它们保存在该选项卡上)。因此,我的目标是找出如何在本地缓存这些信息,以便用户可以转到不同的选项卡并继续使用这些复选框,并将它们保存在各个选项卡中 我一直在阅读关于Chrome.Sto

我正在创建一个通过快捷方式激活的chrome扩展。基本上,在您所在的页面上创建了一个有几个问题的div。每个答案都有一个复选框

然后,用户可以选择一个或几个答案,需要转到另一个页面/选项卡,他/她可以选择更多或更少的选项

问题是,一旦在其他选项卡中激活此扩展,用户从其他选项卡单击的所有复选框都不会传递到新选项卡(尽管它们保存在该选项卡上)。因此,我的目标是找出如何在本地缓存这些信息,以便用户可以转到不同的选项卡并继续使用这些复选框,并将它们保存在各个选项卡中

我一直在阅读关于Chrome.Storage()的文章,但不知道语法会是什么样子

我想知道是否有人能给我举个更好的例子,或者让我从这里开始

干杯,非常感谢,
-Y

如果您想将数据保存到用户的Google帐户以实现跨计算机访问,请使用
chrome.storage.sync

但是如果您只需要在本地保存数据,请使用
chrome.storage.local

保存数据:

var answersToSet = {};
answersToSet.answerA = 'foo';
answersToSet.answerB = 'bar';
chrome.storage.sync.set(answersToSet, function(){
    if (chrome.runtime.lastError) {
        alert('Error setting answers:\n\n'+chrome.runtime.lastError);
    } else {
        alert('Answers saved.');
    }
});
var answersToGet = [];
answersToGet.push('answerA');
answersToGet.push('answerB');
chrome.storage.sync.get(answersToGet, function(answers){
    console.log(answers.answerA);
    console.log(answers.answerB);
});
检索数据:

var answersToSet = {};
answersToSet.answerA = 'foo';
answersToSet.answerB = 'bar';
chrome.storage.sync.set(answersToSet, function(){
    if (chrome.runtime.lastError) {
        alert('Error setting answers:\n\n'+chrome.runtime.lastError);
    } else {
        alert('Answers saved.');
    }
});
var answersToGet = [];
answersToGet.push('answerA');
answersToGet.push('answerB');
chrome.storage.sync.get(answersToGet, function(answers){
    console.log(answers.answerA);
    console.log(answers.answerB);
});

或者,您可以只使用
localStorage
,尽管这不是异步的:

localStorage.answerA = 'foo';
localStorage.answerB = 'bar';
console.log(localStorage.answerA);
console.log(localStorage.answerB);

只是想知道:一旦点击复选框并保存它,它怎么知道呢?(很抱歉,如果这是一个noob问题,请尝试理解它,因为我让它用于文本区域,但不用于复选框)我不知道普通JavaScript,但如果您使用jQuery,您可以监听
更改
事件。示例:正式文件: