我目前正在尝试构建一个应用程序,供员工每天上下类打卡。
我当前已设置地理定位来自动获取用户的位置并将其存储在数据库中,但是出于明显的原因,如果用户按“拒绝”,它就无法获取位置。
有没有办法可以强制我的页面启用位置或在禁用位置时阻止页面加载。
我已设法使用功能进行设置,但如果用户按“现在不”按钮或稍后选择,页面仍会正确呈现,并且不会阻止员工使用系统。
我需要做的事情如下:
- 强制打开位置服务或在关闭时阻止页面呈现
- 如果之前拒绝使用位置服务,则在页面加载时显示允许/拒绝位置服务框。
任何帮助将不胜感激。
最佳答案
我不知道你是如何生成页面的,但是如果你可以依靠 Javascript 来呈现,或者如果在拒绝的情况下重定向到错误页面是可以接受的,那么你可以使用依赖,因为你如果拒绝,将收到错误回调:
navigator.geolocation.getCurrentPosition(success[, error[, options]])
因此您的网站可以:
- 仅在调用
success
处理程序时才渲染,否则显示错误(超时后) - 如果调用错误处理程序,则重定向到错误页面
现在,对于你的“明确否认”,我怀疑这是可能的。我能建议的最好的办法是,您可以在错误页面上找到有关清除地理设置的说明。不幸的是,这些将取决于操作系统和浏览器。
关于javascript - 强制地理位置允许,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35978541/