Tar*_*iqN 9 javascript web reactjs service-worker progressive-web-apps
无论您是喜欢慢跑还是骑自行车并想要跟踪行程,还是管理卡车、农用车辆或采矿车辆或送货自行车,您都需要在 Web 应用程序处于后台运行或设备处于睡眠状态时跟踪您的地理位置。
我想知道今天的 Web 应用程序 PWA 是否可以支持使用服务工作者在后台实时跟踪用户位置并发送通知之类的功能。
这是否适用于服务工作者:
window.navigator.geolocation.getCurrentPosition(function(pos) {
console.log('pos: ', pos);
});
Run Code Online (Sandbox Code Playgroud)
而应用程序在后台?
简短回答:否
长答案:-
在这个问题上,您并不孤单。一百万其他开发人员要求使用相同的功能。
请参阅W3C 断然拒绝指定的提议TravelManager解决方案。UA 供应商也拒绝实施,原因只有他们自己知道。比那更糟;W3C 正试图将地理定位重新定义为传感器,并推迟任何有用或新颖的功能,浪费数十万美元,但更重要的是,浪费宝贵的时间。
有关完整背景,请参阅 (1) this或 (2) this。
对于一个好的笑/哭,请参阅(3)这个。
(1) 这是来自 W3C ServiceWorker GitHub 存储库的线程,它于2015年9 月 5 日首次提出了后台地理定位的问题/要求。此处包含大量用例、用户/开发人员高需求的无可辩驳的证据以及建议的解决方案。由于我在此线程中的帖子,我从所有 W3C github 存储库中进行了审查,但我让您在未编辑的线程版本中判断其他作者的内容,该版本可在此处找到。
(2) 更多用户在 W3C 地理定位存储库中要求相同的背景地理定位功能。
(3) W3C 目前正在疯狂地将地理定位重新定义为传感器,同时自由地承认现有的 API 将继续得到支持和使用,任何新功能(尤其是后台功能)都将推迟到神秘的版本 2 中除了“版本 1 之后的某个时间”之外没有时间线。而且他们知道他们生产的主线程或网络工作者API不会在ServiceWorker的环境中工作。难以置信!
(*) 另请注意失败的 W3C 地理围栏尝试。更多的钱浪费了宝贵的时间。还要注意,他们会试图用电池杀死 WakeLock() 来吓唬你(就像你想在慢跑时打开屏幕,或者在地理围栏触发器到位时根本不想使用任何其他应用程序) . 另外看看PhoneGap/Cordova有多受欢迎。为什么?背景地理定位!
(**) 是的,这可能会让人觉得有点咆哮,但在 4 年观察个性和自负阻止必要的网络应用程序功能后,很难保持情感上的超脱,这将使我们能够与原生应用程序并驾齐驱:- (
详细的TravelManager解决方案没有人能够挑出毛病!(是的,我们必须处理权限,但看看 requestPermission() 解决方案对陀螺仪等传感器的 iOS/Safari 关闭造成的破坏,我们可以同意权限是所有人都在进行的工作。(当我说“崩溃时” ” 那是因为 W3C 多年来一直在抱怨 requestPermission() 是一种“反模式”))))请参阅 W3C权限存储库以获取更多被忽略的建议。
| 归档时间: |
|
| 查看次数: |
5118 次 |
| 最近记录: |