Расширение Chrome - перезапустить / повторно включить разбитое расширение - PullRequest
0 голосов
/ 14 марта 2019

Я разработал Chrome Extensions, который очищает пару сайтов, и время от времени он падает. Я все еще копаюсь в этом, но я хотел бы разработать другое расширение, которое проверяет, все еще работает ли очищающее расширение, и если нет, перезапустите его.

Для этого я сделал следующее:

  1. Я создал будильник, который срабатывает каждую минуту

    var alarmName = 'Restarter';
    chrome.alarms.get(alarmName, function(Alarm) 
    {
    if (typeof Alarm === 'undefined')
        {
            console.log('is not defined');
            chrome.alarms.create(alarmName, 
                {
                periodInMinutes: 1
            });         
        }       
    else 
        {
            console.log('is defined');
    
        }       
    });
    
  2. Я создал слушателя, чтобы вызвать тревогу

    chrome.alarms.onAlarm.addListener (асинхронная функция (тревога) {

    // first get your target (child) extension by it's name
    var child = null;
    found = 0;
    chrome.management.getAll(function (info) 
        {
            for (var i=0; i < info.length; i++) 
                {
                    console.log(info[i].name);
                    if ((info[i].name == 'Scraper v10bg'))
                        {
                            found = 1;
                            break;
                        }
                }
        });
    
    if (found == 0)
        {
            console.log('not found');
            enabled=1;
            chrome.management.setEnabled ("jalmlhajpmhnfajphkjlfedjdokhaabg", enabled, function () 
                { 
                    console.log('restarted');
                });
    
        }
    else
        {
            console.log('found');
        }
    });
    

Этот код выполняет следующие действия: - проверяет все включенные расширения - если он не находит нужное мне расширение (Scraper v10bg), он пытается перезапустить его

Когда этот код запускается, я получаю следующее сообщение об ошибке: Uncaught (в обещании) TypeError: Ошибка при вызове management.setEnabled (идентификатор строки, логическое значение включено, необязательный обратный вызов функции): нет соответствующей подписи.

Я на 100% уверен, что идентификатор верен, но я не знаю, что означает проблема с подписью.

У вас есть идеи, как мне этого добиться?

Спасибо

Laurent

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