Tru*_*nse 1 javascript google-chrome setinterval google-chrome-extension
我正在为实时产品开发浏览器扩展.我有一个后台页面,在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
},
Run Code Online (Sandbox Code Playgroud)
谢谢!
根据chrome文档,您应该使用警报API.我不知道它是否会解决这个问题,但它确实值得尝试!
我引用:
如果您的扩展使用window.setTimeout()或window.setInterval(),请切换到使用警报API.如果事件页面关闭,则不会遵守基于DOM的计时器.
=> http://developer.chrome.com/extensions/alarms.html
| 归档时间: |
|
| 查看次数: |
2455 次 |
| 最近记录: |