有关完整的详细信息和更长的描述,请参阅此W3C服务工作人员issue。背景Geolocation ServiceWorker - onMessage当Web应用程序重新获得焦点时的事件顺序
这是我的HTML5 Web App的情景: -
- 我的Web应用程序已经转到后台运行,并停留在我的口袋里,而我去兜风
- 正如我时钟了在KMS我的服务人员(S )定期接收GPS更新并调用postMessage()将它们排队等候我的应用程序最终在Google地图上绘图
- 在旅程结束时,我订购了一个啤酒和前台Web应用程序,一直以来,平均速度,等等。
我的问题是这些: -
1)请问焦点事件火之前或之后全部由ServiceWorkers触发的消息事件的?
2)如果Focus首先将setTimer(0,backlogCleared)作为启发式机制来建立“处理所有背景问题”?
3)有无论如何折叠postMessage()消息(所有模式Firebase的推送通知),以便只收到最后/当前消息?
4)如果您对授权背景地理位置所需的权限有任何意见,请将其添加到W3C。
干杯和良好的骑行,跑步,帆船,驾驶!
另一种选择,我想,如果你有一个中央服务器(车队管理等)是不的postMessage到主线应用程序,但实际上只是XHR /抓取位置改变到服务器,然后,当Web应用程序获得焦点,它可以只是打电话给服务器+/- a getCurrentLocation() – McMurphy
您是否已经使用GPS更新了服务人员?我一直在寻找geofencing和通过服务工作者更新一下。你是我遇到过的第一个真正在做这件事的人,我想问你是否会分享你的消息。您是否使用原生功能,插件或第三方资源? – jay
@Jay我的问题的一部分是一厢情愿的想法或“假新闻”我害怕:-(我的问题仍然适用于任何使用postMessage()的服务工作者队列消息,当客户端再次被预先接受时,将被执行。赏金仍然适用,但我在这里张贴的真正动机是提高服务员问题的意识745 https://github.com/w3c/ServiceWorker/issues/745#issuecomment-304168724请在那里添加您的意见/祝福。背景将GeoLocation放入Usurper Web Apps! – McMurphy