JavaScript地理定位应该提示用户打开位置服务吗?

4
我正在使用JavaScript的地理定位功能来跟踪用户位置,具体来说,我正在使用navigator.geolocation.watchPosition。我的网站运行良好。当我在Android设备上访问我的网站时,它会提示我是否允许该网站跟踪我的位置。我点击允许(以及记住我的偏好)。
成功后,我关闭了手机上的位置服务并返回到该网站。它没有再次提示我允许(因为我告诉它记住了我的偏好),但它也没有提示我打开位置服务。不用说,在那一点上,我的网站从浏览器中没有获取到任何地理位置数据。
我的问题是:有没有办法通过程序提示用户打开他们的位置服务?如果我没有保存我的安全偏好,并且它再次提示我允许,它会自动打开或要求我打开位置服务吗?我不想告诉用户他们需要进入他们手机的首选项来启用它。

所以你在问JS是否可以在手机上打开地理位置服务?不行。 - BenM
如果浏览器至少询问用户是否要打开位置服务,那就太好了。 - xendi
很抱歉,这在很大程度上取决于设备。 - BenM
1个回答

0

这是针对浏览器或者更精确地说,应用程序的。您可以等待半分钟或一分钟来获取位置信息,如果无法获得,则向用户发出警告。


但这并不意味着位置服务已关闭,只是它们不可用。您不知道问题是暂时的(即没有覆盖范围)还是半永久的(即用户禁用了服务)。 - BenM
在Chrome中,它会抛出“权限被拒绝”的错误。而在默认的Android浏览器中,则会抛出“位置不可用”的错误。 - xendi
是的,你可以说你受浏览器的支配,但你可以向用户显示警告,让他检查。如果你不专注于单一平台,那么你的用户可能最清楚该检查什么。 - Nux

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接