Работа с фоновым таймером
Имеем Google расширение которое должно периодически выводить информацию в виде Badge на иконке приложения. Пользователь должен иметь возможность менять интервал обновления.
Проблема в том что я не могу получить идентификатор запущенного таймера и соответственно не могу остановить таймер чтобы задать новый интервал. В файле options.js переменная _timerID
- пуста! Я даже пробовал идентификатор таймера записывать в LocalStorage, но таймер не останавливается, видимо он существует в другом "пространстве"...
- Вопрос №1, мне остановить таймер?
- Вопрос №2, как делать подобные вещи наиболее правильно?
Вот файлы проекта:
В манифесте в качестве background используется background.html
на котрой подключаются:
<script type="text/javascript" src="/js/main.js"></script>
<script type="text/javascript" src="/js/bg.js"></script>
На страничке options.html
, которая отображает настройки подключаются:
<script type="text/javascript" src="/js/main.js"></script>
<script type="text/javascript" src="/js/options.js"></script>
bg.js
$(document).ready(function () {
if (_enableTick)
startTimer();
});
main.js
var _enableTick, _updateTime, _timerID;
function startTimer() {
_timerID = window.setInterval(function() {
setBadge(serverID);
}, _updateTime));
}
options.js
function save_options() {
clearInterval(_timerID);
}