【问题标题】:html5 geolocation permissions from 3rd party script来自 3rd 方脚本的 html5 地理定位权限
【发布时间】:2012-04-24 03:11:36
【问题描述】:

我正在创建一个浏览器扩展程序,将一些 javascript 注入某些网站。

脚本的功能需要知道用户是否为指定站点启用了地理定位。到目前为止,我只看到示例 javascript 请求站点上的用户许可,然后决定做什么。

为了尽可能不打扰用户,我想了解用户是否已经允许网站使用其地理位置,如果允许,请使用该信息,否则执行不需要它的代码. html5 geolocation api中是否有任何功能可以让我这样做?

【问题讨论】:

    标签: html api mobile permissions geolocation


    【解决方案1】:

    首先,Geolocation 不是 HTML5 的一部分,它是 W3C 规范。

    其次,据我所知,没有办法做到这一点。快速查看W3C Geolocation Specification 并没有发现任何信息。

    我建议只是尝试通过 Geolocation 获取他们的位置,如果它有效,那么您可以假设已授予权限,如果没有运行不需要 API 的代码。

    我知道你不想明确征求用户的许可,但它只会是一次,所以你也可以。

    【讨论】:

      【解决方案2】:

      据我所知,目前还没有这个功能,也没有听说过,所以你可能要等很久……

      【讨论】:

        【解决方案3】:

        现在似乎有一个“权限 API”,可让您查看已授予网站的权限。

        // Check for Geolocation API permissions              
        navigator.permissions.query({name:'geolocation'})
            .then(function(permissionStatus) {  
                console.log('geolocation permission state is ', permissionStatus.state);
        
                permissionStatus.onchange = function() {  
                    console.log('geolocation permission state has changed to ', this.state);
            };
        });
        

        https://developers.google.com/web/updates/2015/04/permissions-api-for-the-web

        但是,目前它在 Chrome 和 Firefox 之外还没有得到非常广泛的支持:http://caniuse.com/#feat=permissions-api

        【讨论】:

          猜你喜欢
          • 2012-07-15
          • 2012-05-26
          • 2015-11-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-30
          • 1970-01-01
          相关资源
          最近更新 更多