我创建了chrome扩展程序,通知用户我希望在后台运行它的某些网站的最新消息,所以我在 manifest.json 中写这个:
"background": {
"scripts": ["js/jquery.js", "js/background.js"],
"persistent": true
}
并在 background.js :
中window.setTimeout(checkNew, 60000);
function checkNew() {
// do some thing here [Ex: ajax requests...] and notifications api ...etc
setTimeout(checkNew, 200000);
}
然而,扩展在某个时候运作良好,但突然停止了
虽然我给它背景许可,但它在后台不起作用
我搜索了很多,但我找不到合适的答案。
[编辑]
我发现错误我的代码中有语法错误,谢谢大家好抱歉因为我没有检查我的代码就问了
答案 0 :(得分:0)
没有剩下的程序就不可能告诉我,但是我打赌你的代码中会发生一些错误,它会在到达新setTimeout
之前停止执行。
尝试将setTimeout
移到checkNew
的顶部:这样,即使发生了一些停止流程的异常,也会安排下一次执行。
调试!检查后台页面的控制台是否有错误。
答案 1 :(得分:-2)
与'background'中的 persistent:true 一起,您还需要为背景添加权限。
"permissions": [
"background"
],