我正在创建一个“flashcard”程序,但需要获取表格以及在继续之前将所选单词添加到表中的方法。 相关代码如下,for循环从555开始,因为无论出于什么原因,我开始保存它们的值。 因此,基本上每当用户右键单击选定的单词并按下上下文菜单中的按钮时,它应该将该单词保存在chrome存储中并将其输出到通过下面的代码填充的表中。现在奇怪的部分是作品,并识别本地存储管中有多少单词,但它填充了许多单词的表格,只是最后一个突出显示的单词。
例如,如果我突出显示并选择了3个单词,则只会在表格中显示最后一个单词,但会填充3行。这是storage.sync.get方法中的异步回调的结果,还是我结束时的一个愚蠢的错误?
for (i = 555; i < x; i++) {
var key = i.toString();
key = 'a'.key;
chrome.storage.sync.get(key, function (data) {
var row = table.insertRow(table.length);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
cell1.innerHTML = data.key;
cell2.innerHTML = "definition";
cell1.contentEditable = true;
cell2.contentEditable = true;
});
}
以下是代码的设定部分:
var key = x.toString();
key = 'a'.key;
chrome.storage.sync.set({key : sText}, function(){
}
);
x++;