mashonka123 Ответов: 1

Как сохранить изменения, завершенные после выполнения метода $.change()


Всем доброго дня!

При разработке расширения для Chrome я столкнулся со следующей проблемой: существует некоторое поле F. У него есть индикатор состояния. Есть два варианта статуса: зеленый и красный (по умолчанию). Как только значение поля будет обновлено - индикатор состояния должен стать зеленым и оставаться таким же.

До этого момента все было ясно. Я использую
$.change ()
метод и все работает. Но проблема в том, что после перезагрузки страницы индикатор состояния снова становится красным.

Вопрос: Как сделать так, чтобы после изменения поля индикатор состояния оставался зеленым даже после перезагрузки страницы? Какой-то способ запомнить результат.

Что я уже пробовал:

Я узнал, что Chrome.storage может помочь мне в моей проблеме. Но, наверное, я делаю что-то не так. Вот что я попробовал, но этот фрагмент кода не работает.
feedViewElement.change(function() {
     chrome.storage.onChanged.addListener(function() {
       liElement.css("list-style-image", passedStateImgUrl);
       aElement.attr("title", passedStateText);
  });


Что я делаю не так?

1 Ответов

Рейтинг:
2

Master-Ram

Установите статус в хранилище на элементе onchange event.

chrome.storage.sync.set({key: value}, function() {
         console.log('Value is set to ' + value);
       });

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

chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) {
  if (changeInfo.status == 'complete' && tab.active) {
        chrome.storage.sync.get(['key'], function(result) {
          console.log('Value currently is ' + result.key);

          if(result.value){
           // Set Color or Image
          }
        });


    // do your things
  }
})