我正在为实时产品开发浏览器扩展。我有一个在 manifest.json 中设置了“persistent:true”的背景页面(我使用的是 v2 版本)。我使用 setInterval() 每秒不断地轮询服务器以获取新数据。后台脚本还缓存它收集到的数据,并将其提供给任何新打开的选项卡。
一切正常,直到有时我注意到当我让计算机长时间休眠时,我对服务器的轮询停止了!如果我刷新任何现有选项卡,我确实会看到缓存数据。这意味着,背景页面没有被 Chrome 杀死。我的问题是,为什么 chrome 只是停止 setInterval() 调用?另外,如果由于某种原因停止投票,恢复投票的正确方法是什么?
//relevant part of manifest.json
"background": {
"scripts": [
"js/background/jquery.min.js",
"js/background/bgconfig.js",
"js/background/backgroundmanager.js",
"js/background/eventsfetcher.js"
],
"persistent": true
},
谢谢!