即使选项卡不在焦点上,也从 Web 应用程序发送地理位置?

Posted

技术标签:

【中文标题】即使选项卡不在焦点上,也从 Web 应用程序发送地理位置?【英文标题】:Sending Geolocation from a Web Application even when the tab is not in focus? 【发布时间】:2016-03-27 11:50:47 【问题描述】:

我希望能够从我的 Web 应用程序报告用户的地理位置,即使应用程序的选项卡不在焦点上。我所拥有的问题是,当标签不焦点时,不会发生报告。

我尝试了几件事:

首先我使用setTimeout();但是,这仅在应用程序选项卡处于焦点时才计算在内。

其次,我尝试使用 html5 Web Workers 对事件进行计时,每 5 秒向我的主脚本发送一条消息以报告用户的位置。但是,如果我每 5 秒报告一次他们的位置并转到另一个选项卡 20 秒,当我在我的应用程序运行的情况下返回到选项卡时,会同时发送 4 条消息,这是因为尽管网络工作者将在后台,主线程不会。

最后,我尝试在网络工作者中实现地理定位。但是,这无法访问 navigator.geolocation() 函数,因此也不起作用。

有可能做我想做的事吗?

【问题讨论】:

在基于 chromium 的浏览器上不可能。见bugs.chromium.org/p/chromium/issues/detail?id=506435。在 Firefox 上它工作得很好 嗨,Haych,您在一年前问过这个问题。你能得到这个或其他一些替代工作吗?他们在 Service Workers 规范中提到了地理位置……不确定是否有人实现了这一点…… 嗨维塔利,我从来没有得到这个工作。当时是不可能的,从那以后我就再也没有做过了(这是大学里的一个小组项目,我现在已经完成了)。 【参考方案1】:

正如 Gaby 所说,这在基于 Chromium 的浏览器上是不可能的。见上面的评论。

【讨论】:

以上是关于即使选项卡不在焦点上,也从 Web 应用程序发送地理位置?的主要内容,如果未能解决你的问题,请参考以下文章

选项卡不在焦点时的 Firebase 通知

在 HTML5 Web Worker 中使用地理定位

HTML5 <audio> 标签 - 自动播放,即使选项卡没有焦点

以编程方式移除焦点?

关闭选项卡以关注上一个选项卡而不是第一个选项卡时如何更改 dojo 内容选项卡焦点?

辅助功能 - 如何在元素上设置自定义选项卡焦点顺序