0

我正在创建一个“抽认卡”程序,但在继续之前需要让表格和将所选单词添加到表格中的方式正常工作。相关代码如下,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++;
4

0 回答 0