Я делаю свое первое расширение хром, и я застрял как раз перед концом.Расширение Chrome - Фоновая страница и непрочитанные предметы
Я получаю ответ от сервера в json, выводящий html, кэширую его в localstorage, проверяя, есть ли кеш, если он не возвращается с сервера, а затем отображается.
Теперь. В background.js мне нужно проверять каждые 30 минут, если есть обновления в json-файле на сервере ... если какой-либо дисплей значка, после щелчка удалите значок до следующего раза. но я не знаю, что делать. Потому что, если я делаю setInterval
, он попадает на сервер и всегда отображает значок, даже если нет ничего нового. Можете ли вы, парень, помочь мне построить js, пожалуйста?
<script>
setInterval(function(){
chrome.browserAction.setBadgeText({text:chrome.browserAction.setBadgeText({text: "!!!"});});
}, 1800000);
</script>
Я также пробовал этот путь, но ничего не происходит.
function getUnreadItems(callback) {
$.ajax(..., function(data) {
process(data);
callback(data);
});
}
function updateBadge() {
getUnreadItems(function(data) {
chrome.browserAction.setBadgeText({text:data.unreadItems});
});
}
var pollInterval = 1*60*60; // 60 min
var timerId;
function startRequest() {
updateBadge();
timerId = window.setTimeout(startRequest, pollInterval);
}
function stopRequest() {
window.clearTimeout(timerId);
}
background.js
onload='startRequest()'
Я не хром-разработчик, но я должен спросить ... в ваших функциях выше, я не вижу никаких сравнений времени. Вы проверяете/сохраняете/сравниваете любые отметки времени? – monsto