Я разработал Chrome Extensions, который очищает пару сайтов, и время от времени он падает. Я все еще копаюсь в этом, но я хотел бы разработать другое расширение, которое проверяет, все еще работает ли очищающее расширение, и если нет, перезапустите его.
Для этого я сделал следующее:
Я создал будильник, который срабатывает каждую минуту
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');
}
});
Я создал слушателя, чтобы вызвать тревогу
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