使用 javascript 或 jQuery 检测用户是不是拒绝浏览器定位计算机的请求

Posted

技术标签:

【中文标题】使用 javascript 或 jQuery 检测用户是不是拒绝浏览器定位计算机的请求【英文标题】:Using javascript or jQuery, detect if a user denies browser's request to locate computer使用 javascript 或 jQuery 检测用户是否拒绝浏览器定位计算机的请求 【发布时间】:2013-10-15 13:24:21 【问题描述】:

我正在构建一个网站,该网站通过 - navigator.geolocation.getCurrentPosition(positionFound) 请求使用某人位置的权限。

使用javascript或jQuery,我如何检测用户是否拒绝权限,在他们拒绝之后的那一刻?

我的代码看起来像这样 -

function Geolocation() 
    navigator.geolocation.getCurrentPosition(positionFound)


function positionFound(position, found) 
    if (position.coords) 
    //do stuff
    

部分问题是,在用户接受或拒绝使用计算机位置的权限之前,到达navigator 之后的代码。

【问题讨论】:

阅读一些文档:developer.mozilla.org/en-US/docs/Web/API/… - getCurrentPosition 的第二个参数是为错误调用的函数,接收带有详细信息的错误对象 (developer.mozilla.org/en-US/docs/Web/API/PositionError) How to call function when user Allows or Denies access to "Physical Location"? 的可能副本 【参考方案1】:

navigator.geolocation.getCurrentPostions可以带两个参数success, error

将您的代码更改为:

function positionFound(position) 
    // dostuff


function positionNotFound(error) 
    // Handle error


function Geolocation() 
    navigator.geolocation.getCurrentPosition(positionFound, positionNotFound)

Source

【讨论】:

【参考方案2】:

Ian 是对的,看看这个example 使用getCurrentPosition

【讨论】:

以上是关于使用 javascript 或 jQuery 检测用户是不是拒绝浏览器定位计算机的请求的主要内容,如果未能解决你的问题,请参考以下文章

Javascript/jquery:如何检测在其他窗口或应用链接中加载的页面?

在javascript或jQuery中检测iframe的负载(不是同一个域,动态添加)?

JavaScript 或 jQuery 浏览器后退按钮点击检测器

检测 <td> 的内部 html 何时随 javascript 或 jquery 更改

jQuery/Javascript 在没有插件的情况下检测操作系统?

jQuery/JavaScript:检测滚动方向 - 代码结构问题