【问题标题】:Geolocation API Permissions Web Browser地理位置 API 权限 Web 浏览器
【发布时间】:2011-06-02 14:56:35
【问题描述】:

我正在使用此代码来获取用户地理位置。一切顺利,直到用户拒绝获取位置的权限。这个选项似乎被缓存了,我不知道如何重置它。

有没有办法重新申请许可?提前致谢!

if (navigator.geolocation) {                                            

        navigator.geolocation.getCurrentPosition(function(position) {       

            // Success Callback


        }, function(error) {
            //error Callback

        },{
                  //options
            });
     }else{
        //geolocation not available
     }

【问题讨论】:

    标签: html api browser geolocation


    【解决方案1】:

    很确定这是每个站点存储的浏览器/设备设置。我认为关键是您不能从脚本中重置它,因为它首先会破坏提示的要点。我相信重置的唯一方法是更改​​浏览器/设备中的设置。

    【讨论】:

      【解决方案2】:

      就像 bgreater 所说,这取决于浏览器。但是当用户拒绝获取位置的权限时,将使用错误对象调用错误函数。此错误对象包含错误代码。当错误码等于1时,表示用户拒绝权限。

      var errorTypes = {
          0: "Unknown error",
          1: "Permission denied by user",
          2: "Position is not available",
          3: "Request timed out" 
      };
      

      我认为,您可以检查此错误代码并向用户显示某种信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-19
        • 1970-01-01
        • 1970-01-01
        • 2015-11-26
        • 2013-09-28
        相关资源
        最近更新 更多