我正在创建一个通过快捷方式激活的chrome扩展程序。基本上,在您所在的页面上创建一个div,它有几个问题。每个答案都有一个复选框。
然后,用户可以选择一个或多个答案,并且需要转到另一个页面/标签,他/她可以选择更多或更少的选项。
问题在于,在其他选项卡中激活此扩展后,用户从另一个选项卡单击的所有复选框都不会传递到新选项卡(尽管它们保存在该选项卡上)。因此,我的目标是弄清楚如何在本地缓存该信息,以便用户可以转到不同的选项卡并继续使用这些复选框,它们将被保存在选项卡中。
我一直在阅读Chrome.Storage(https://developer.chrome.com/extensions/storage.html),但无法弄清楚语法是怎样的。
想知道是否有人可以给我一个更好的例子或让我从这里开始。
欢呼和感谢, -Y
答案 0 :(得分:2)
如果您想将数据保存到用户的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);
});
或者,你可以使用localStorage
,虽然这不是异步的:
localStorage.answerA = 'foo';
localStorage.answerB = 'bar';
console.log(localStorage.answerA);
console.log(localStorage.answerB);