javascript - 强制地理位置允许

标签 javascript html geolocation

我目前正在尝试构建一个应用程序,供员工每天上下类打卡。

我当前已设置地理定位来自动获取用户的位置并将其存储在数据库中,但是出于明显的原因,如果用户按“拒绝”,它就无法获取位置。

有没有办法可以强制我的页面启用位置或在禁用位置时阻止页面加载。

我已设法使用功能进行设置,但如果用户按“现在不”按钮或稍后选择,页面仍会正确呈现,并且不会阻止员工使用系统。

我需要做的事情如下:

  • 强制打开位置服务或在关闭时阻止页面呈现
  • 如果之前拒绝使用位置服务,则在页面加载时显示允许/拒绝位置服务框。

任何帮助将不胜感激。

最佳答案

我不知道你是如何生成页面的,但是如果你可以依靠 Javascript 来呈现,或者如果在拒绝的情况下重定向到错误页面是可以接受的,那么你可以使用依赖,因为你如果拒绝,将收到错误回调:

navigator.geolocation.getCurrentPosition(success[, error[, options]])

因此您的网站可以:

  • 仅在调用 success 处理程序时才渲染,否则显示错误(超时后)
  • 如果调用错误处理程序,则重定向到错误页面

现在,对于你的“明确否认”,我怀疑这是可能的。我能建议的最好的办法是,您可以在错误页面上找到有关清除地理设置的说明。不幸的是,这些将取决于操作系统和浏览器。

关于javascript - 强制地理位置允许,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35978541/

相关文章:

dart - 在不导航到设置页面的情况下打开位置服务? Dart

d3.js - 使用 d3.js 绘制纽约街区

javascript - 通过键盘控制音频

html - 如何在 thymeleaf 中使用 Select html 标签?

javascript - 清除vue 3中的输入文件

javascript - 跨域请求 - javascript

javascript - 导致浏览器卡住的异步 ajax 调用

android - 如何使用 Network Location Provider 对 Android 设备进行地理定位

javascript - Svg D3.js 如何使用条件选择全部

javascript - 查找 jquery 对象中的所有输入