无论你是喜欢慢跑,还是骑自行车,想要追踪你的行程,或者你管理着一队卡车、农场或采矿车辆,或者是送货自行车,你都需要跟踪你的地理位置,而你的Web应用程序是不接地的,或者你的设备已经睡着了。
我想知道今天的web应用程序PWA是否能够支持诸如使用服务工作者实时跟踪用户在后台的位置和发送通知之类的功能。
这是否适用于服务人员:
window.navigator.geolocation.getCurrentPosition(function(pos) {
console.log('pos: ', pos);
});而应用程序在后台呢?
发布于 2019-03-22 02:15:32
简短答覆:否
详细答覆:-
在这个问题上你不是一个人。还有一百万其他开发人员要求提供同样的功能。
请参阅提议的TravelManager解决方案,W3C断然拒绝指定该解决方案。UA供应商也拒绝实施,原因只有他们自己知道。这比那更糟糕;W3C正试图将地理定位重新发明为传感器,推迟任何有用或新颖的功能,浪费几十万美元,但更重要的是,浪费宝贵的时间。
要想开怀大笑,请看(3)这。。
(1)这是W3C ServiceWorker GitHub存储库的一个线程,首次提出了在(2015年9月5日)上进行背景地理定位的问题/要求。这里包含的是大量的用例,用户/开发人员需求高的无可辩驳的证据,以及提出的解决方案。由于我在这个线程中的文章,我从所有W3C github存储库中接受了审查,但我让您来判断未编辑的线程版本中的其他作者的内容,该版本可以找到这里。。
(2)在W3C地理位置存储库中,有更多的用户要求具有相同的背景地理位置功能。
(3)有证据表明,W3C目前正在疯狂地重铸地理定位为传感器,同时自由地承认现有的API将继续得到支持和使用,任何新的功能(特别是背景功能)都将被推迟到神话的版本2,除了“版本1之后的某个时候”之外,没有其他时间线。而且他们知道他们产生的主线程或work不会在ServiceWorker环境中工作。Disbeleif!
(*)还请注意失败的W3C Geofencing 尝试。浪费更多的金钱,浪费宝贵的时间。还要注意的是,他们会试图用电池杀死WakeLock()来阻止你(就好像你想在慢跑时打开屏幕,或者在geofence触发器就位时根本不想使用任何其他应用程序)。还有,看看PhoneGap/Cordova有多受欢迎。为什么?背景地理定位!
(**)是的,这可能会被看作是一种咆哮,但在观察了4年的个性和自我之后,很难保持情感上的超然,因为它阻止了必要的web应用程序功能,使我们能够直接使用本地应用程序:-
没有一个能够找到详细的TravelManager解决方案的错误!(是的,我们必须在权限上工作,但是看看requestPermission()解决方案对陀螺仪等传感器的iOS/Safari关闭的失败,我们可以同意,权限是一项正在进行的工作。(当我说“崩溃”时,这是因为W3C多年来一直在抱怨requestPermission()是一个“反模式”)查看W3C 权限存储库,了解更多被忽略的建议。
https://stackoverflow.com/questions/55290691
复制相似问题