使用chrome.storage'set'推送的数组不会与'get'一起出现

时间:2018-06-25 18:11:39

标签: javascript google-chrome-extension google-chrome-devtools

我是javascript和chrome扩展的新手,但是我正在尝试在网页中创建HTML按钮,例如,让我们考虑页面https://www.mypage.com/first/second/10/

当我单击按钮时,我想将值“ 10”存储在我已经拥有的“ array_number”中。因此,我使用chrome.storage.sync.set存储数组,然后推送了值,然后使用chrome.storage.sync.get验证了数据。 这是代码:

var array_number = ['1', '2', '3', '4', '5', '6', '7', '8', '9'];
var url = document.URL;
var splitUrl = url.split('/');

function test() {
    chrome.storage.sync.set({list:array_number}, function() {
        array_number.push(splitUrl[5]);
        console.log(splitUrl[5] + ' added to list with new values');
    });
    chrome.storage.sync.get({ list: [] }, function (items) {
        for (var i = 0; i < items.list.length; i++) {
            console.log(items.list[i]);
        }
    });
}


var el = document.getElementById('clickMe');
if(el){
  el.addEventListener('click', test);
}


document.getElementById('second_id').insertAdjacentHTML('beforebegin', '<li style=\'color: green; position: relative; bottom: 12px;\'>None</li>');
document.getElementById('third_id').insertAdjacentHTML('beforebegin', '<input id="clickMe" type="button" class="first_class" value="Delete"/>');

document.getElementById('clickMe').addEventListener('click', test);

我进入控制台:

10
10 added to list with new values
1
2
3
4
5
6
7
8
9

“ 10”不存在...我该如何解决?我希望这些数字永久存储在我的浏览器中。 我也想知道chrome.storage是否是一个好的解决方案,因为当我的扩展程序准备好时,我将有大约5000个数字。 谢谢!

0 个答案:

没有答案