来自第三方脚本的html5地理定位权限

时间:2012-04-24 03:11:37

标签: html5 api mobile permissions geolocation

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

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

尽管对用户尽可能不引人注意,但我想知道用户是否已经允许该站点使用其地理位置,如果有,请使用该信息,否则执行不需要它的代码。 html5 geolocation api中是否有允许我这样做的功能?

3 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:0)

据我所知,没有这样的功能,我从未听说过,所以你可能需要等待很长时间......

答案 2 :(得分:0)

看起来现在有一个“权限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);
    };
});

Enumerating Alternate Data Streams

但是,目前在Chrome和Firefox之外并没有得到广泛支持:https://developers.google.com/web/updates/2015/04/permissions-api-for-the-web