Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 后台地理位置服务工作者-Web应用程序重新获得焦点时的onMessage事件顺序_Javascript_Html_Web Applications_Geolocation_Service Worker - Fatal编程技术网

Javascript 后台地理位置服务工作者-Web应用程序重新获得焦点时的onMessage事件顺序

Javascript 后台地理位置服务工作者-Web应用程序重新获得焦点时的onMessage事件顺序,javascript,html,web-applications,geolocation,service-worker,Javascript,Html,Web Applications,Geolocation,Service Worker,有关完整的详细信息和更详细的描述,请参阅此W3C服务人员 这是我的HTML5 Web应用程序场景:- 我的网络应用程序在我出去兜风的时候被放在了我的口袋里 当我为KMs打卡时,我的服务人员会定期接收GPS更新,并调用postMessage()将其排队,以便我的应用程序最终在谷歌地图上绘图 在旅程结束时,我点了一杯啤酒,并打开了网络应用程序,这样我就可以看到我去过的地方,平均速度,等等 我的问题是:- 1) 焦点事件是在ServiceWorkers触发的所有消息事件之前还是之后触发的 2) 如

有关完整的详细信息和更详细的描述,请参阅此W3C服务人员

这是我的HTML5 Web应用程序场景:-

  • 我的网络应用程序在我出去兜风的时候被放在了我的口袋里
  • 当我为KMs打卡时,我的服务人员会定期接收GPS更新,并调用postMessage()将其排队,以便我的应用程序最终在谷歌地图上绘图
  • 在旅程结束时,我点了一杯啤酒,并打开了网络应用程序,这样我就可以看到我去过的地方,平均速度,等等
我的问题是:-

1) 焦点事件是在ServiceWorkers触发的所有消息事件之前还是之后触发的

2) 如果焦点是第一位的,那么setTimer(0,backlogCleared)是否足以作为一种启发式机制来建立“所有处理的背景内容”

3) 是否可以折叠postMessage()消息(al la mode Firebase的推送通知),以便只接收最后/当前消息

4) 如果您对授权后台地理位置所需的权限有想法,请在W3C上添加它们


干杯,祝你骑行、跑步、航海、驾驶愉快

我的Brotkrumen终极Web应用程序现已完成。可以在以下位置找到所有源/图像文件:

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

请帮助背景地理位置站起来,帮助Web应用与本地应用竞争


如果我的TravelManager解决方案设计有问题,请告诉我。把它撕破

我想,另一个选择是,如果您有一个中央服务器(用于车队管理等),则不向主线应用程序发送邮件,而只是向服务器发送XHR/获取位置更改,然后,当Web应用程序获得焦点时,它只需调用服务器+/-a getCurrentLocation(),您是否已经让服务人员使用GPS更新了?我通过服务人员搜索地理围栏和更新已有一段时间了。你是我遇到的第一个真正做这件事的人,我想问你是否愿意分享你的资料来源。您使用的是本机功能、插件还是第三方资源?@Jay我的问题中有一部分是一厢情愿或“假新闻”,恐怕:-(我的问题仍然适用于任何使用postMessage()的服务人员)若要在客户端再次预支时将其操作的消息排队。奖金仍将适用,但我在此处发布的真正动机是提高对服务人员问题745的认识,请在此处添加您的评论/愿望。让我们现在将背景地理位置添加到篡位者Web应用中!请参阅小Web应用。(有aaa_readme.txt)举个例子/演示code@martinjn我能问一下为什么你在8个月后必须关闭这个主题吗?这样位置更新就不能在后台使用了?因为我在自述中读到它只写前台。悲哀但真实:-(除非W3C或IETF或浏览器供应商理解我的TravelManger解决方案的意义,否则我们注定是本地应用程序的二等公民。我想知道是否有人开发了一种浏览器,能够实现这一点。要将其发布到app storesUPDATE 2021-04有一种新的API正在讨论中,“地理追踪”,这将允许进行背景跟踪。不过,该问题需要投票。如果您对此感兴趣,请转到此处:该“讨论”与其他所有讨论一样:-(