13

有关完整的详细信息和更长的描述,请参阅此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。

干杯和良好的骑行,跑步,帆船,驾驶!

+1

另一种选择,我想,如果你有一个中央服务器(车队管理等)是不的postMessage到主线应用程序,但实际上只是XHR /抓取位置改变到服务器,然后,当Web应用程序获得焦点,它可以只是打电话给服务器+/- a getCurrentLocation() – McMurphy

+2

您是否已经使用GPS更新了服务人员?我一直在寻找geofencing和通过服务工作者更新一下。你是我遇到过的第一个真正在做这件事的人,我想问你是否会分享你的消息。您是否使用原生功能,插件或第三方资源? – jay

+0

@Jay我的问题的一部分是一厢情愿的想法或“假新闻”我害怕:-(我的问题仍然适用于任何使用postMessage()的服务工作者队列消息,当客户端再次被预先接受时,将被执行。赏金仍然适用,但我在这里张贴的真正动机是提高服务员问题的意识745 https://github.com/w3c/ServiceWorker/issues/745#issuecomment-304168724请在那里添加您的意见/祝福。背景将GeoLocation放入Usurper Web Apps! – McMurphy

回答

3

我的Brotkrumen终极Web应用程序现已完成。所有源文件/图像文件都可以在https://drive.google.com/open?id=0B7Rmd3Rn8_hDNW1zSWRoXzBTclU

最重要的设计/建议规范更改是TravelManager订阅现在应该是客户端特定的。 TravelEvent必须包含预期的Client.id(TravelEvent.source.id)。这意味着UA必须监视和过滤每个客户端的GeoLocation更新。我还添加了新的演示功能,例如按下“到达”按钮时显示的旅程摘要。您也可以按“地图旅行”或“重播”,将旅程重播到谷歌地图上。如果行程的最后和下一个地理位置更新都在地图窗口中可见,则通过CSS转换实现平滑标记移动。

帮助背景GeoLocation中站起来,帮助Web应用程序与本地应用程序竞争!

如果我的TravelManager解决方案设计出现问题,请告诉我。撕开它的洞!

相关问题