Не работает расширение

236
05 января 2018, 01:10
function reload1() {
if (document.location.href.toUpperCase().indexOf('XXXXXXXXXX.COM') > -1) 
{ 
function SaveToFile() {
    chrome.storage.sync.set({reminds: inspect1}, 
        function () {
var inspect1 = document.querySelector('.item-inspect').href; // ПОЛУЧИТЬ ИНСПЕКТ ЛИНК
 });
} 
}
if (document.location.href.toUpperCase().indexOf('FFFFFFFFFF.NET') > -1)
{
function LoadFromFile() {
    chrome.storage.sync.get('reminds', function (results) { 
    console.log(results.reminds);
    });
}
} 
}
setInterval(reload1, 8000);

С первого сайта я парсю ссылку, на втором пытаюсь вывести её в консоль ( для проверки работоспособности хранилища). Собственно весь код, в манифесте "storage" указал. На конечном сайте консоль остается пустой , даже ошибок нет. console.log(results.reminds);Сайты не связаны

UPD

{
  "manifest_version": 2,
  "name": "Skin",
  "version": "0.1",
  "permissions": [
  "storage",
  "tabs",
  "activeTab"
  ],
  "background": {
    "scripts": ["background.js"]
  },
  "content_scripts": [
    {
      "matches": [
     "<all_urls>"
   ],
      "js": ["jquery-3.2.1.min.js", "content.js"]

    }
  ],
  "browser_action": {
    "default_icon": "icon.png"
  }
}

В background ничего не указано, расширение работает с только с контент скриптом

Answer 1

Вызывая функцию reload1(), вы по условию if декларируете одну из функций - SaveToFile() либо LoadFromFile(). Однако вызова этих функций не происходит, вызывается только сама reload1() с интервалом.

function reload1() {
    if (document.location.href.toUpperCase().indexOf('XXXXXXXXXX.COM') > -1) { 
        function SaveToFile() {
            chrome.storage.sync.set({reminds: inspect1}, function () {
                var inspect1 = document.querySelector('.item-inspect').href; // ПОЛУЧИТЬ ИНСПЕКТ ЛИНК
            });
        } 
    }
    if (document.location.href.toUpperCase().indexOf('FFFFFFFFFF.NET') > -1){
        function LoadFromFile() {
            chrome.storage.sync.get('reminds', function (results) { 
                console.log(results.reminds);
            });
        }
    } 
}
setInterval(reload1, 8000);

Либо добавляйте вызов функций и описание отдельно, либо делайте их анонимными, либо вообще не оборачивайте функциями (в вашем случае оптимально):

// вариант уно, без вложенных функция:
function reload1() {
    if (document.location.href.toUpperCase().indexOf('XXXXXXXXXX.COM') > -1) { 
        chrome.storage.sync.set({reminds: inspect1}, function () {
           ...
// вариант дуос, описание функции и вызов отдельно:
function SaveToFile(data) {
            ...
});
function reload1() {
    if (document.location.href.toUpperCase().indexOf('XXXXXXXXXX.COM') > -1) { 
        SaveToFile(data);  
    }
READ ALSO
Как изменить механизм формы опроса?

Как изменить механизм формы опроса?

Есть следующая форма опросаКак с помощью javascript сделать, чтобы при выборе/клике нужного ответа срабатывала кнопка "ответить" без ее нажатия?

309
react-dates закрыть календарь

react-dates закрыть календарь

Кто в курсе как можно в любой удобный момент закрыть DateRangePicker, к примеру после клика по добавленной кнопке внутрь календаря "Reset Dates" которая...

219