Chrome.storage.sync 在重新加载扩展程序时会被覆盖

Chrome.storage.sync get overwritten when extension reload

本文关键字:程序 扩展 覆盖 加载 sync storage 新加载 Chrome      更新时间:2023-09-26

我有一个chrome扩展,它使用从chrome.storage中存储的数组获取的数据创建上下文菜单。此数组在选项.html页面中更新。

上下文菜单创建器工作正常,但是当我打开选项页面并在重新加载扩展后尝试将新值插入数组时,它会被覆盖,丢失以前的值。¿有什么解决办法吗?编辑 1为了澄清。存储被保留,但是当我尝试将某些内容推送到数组中时,它会覆盖整个阵列。

编辑2
选项.html

function save_options() {
    var id = document.getElementById('id').value;
    ids.push(id);
    chrome.storage.sync.set({
        'movieId': ids
    }, function() {
        // Feedback
        var status = document.getElementById('status');
        status.textContent = 'Options saved.';
        setTimeout(function() {
            status.textContent = '';
        }, 750);
    });
    createRow(1);
}

这就是我用来升级阵列的代码。

正如@BenjaminGruenbaum所说,我正在var ids = []擦除以前存储的数据。只需擦除它,代码就可以工作。