Массив, добавленный с помощью chrome.storage 'set' не отображается с 'get' - PullRequest
0 голосов
/ 25 июня 2018

Я новичок в расширениях javascript и chrome, но я пытаюсь создать кнопку HTML на веб-странице, например, давайте рассмотрим страницу https://www.mypage.com/first/second/10/

Когда я нажимаю кнопку, я хотел бы сохранить значение «10» в «массиве», который у меня уже есть. Итак, я использовал 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 номеров. Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...