我正在做我的第一个Chrome扩展程序,并且在结束之前卡住了。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