У меня есть функция уведомлений в моем расширении chrome, который управляется справочной страницей (background.html) Эта страница вызывает функцию setNotificationDelay(), которая в основном является удалением предыдущего таймера, за которым следует setTimeOut.setTimeOut scope в расширении Chrome
function setNotificationDelay() {
clearNotificationTimer();
newDelay = getNotificationDelay()
notificationTimer = setTimeout(showNotification, newDelay);
}
}
У меня также есть страница options.html, которая позволяет настроить час уведомления. Я хочу изменить интервал времени фона при изменении конфигурации, но когда я вызываю setNotificationDelay() со страницы Option, это не работает, и я предполагаю, что это потому, что область таймеров привязана к родительской странице.
Если я разрешаю странице Option, открывается таймаут, если я закрываю его, уведомление никогда не происходило.
Как подключить этот таймер к фоновой странице? Есть ли лучший способ достичь этого?
Спасибо.
EDIT: chrome.extension есть страничный метод getBackground который возвращает объект окна для фона страницы:
function setNotificationDelay() {
clearNotificationTimer();
newDelay = getNotificationDelay()
notificationTimer = chrome.extension.getBackgroundPage().setTimeout(showNotification, newDelay);
}
}