2012-04-24 57 views
1

我正在创建一个向特定网站注入一些JavaScript的浏览器扩展。来自第三方脚本的html5地理位置权限

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

为了尽可能地向用户介绍,我想知道用户是否已经允许网站使用其地理位置,如果有,请使用该信息,否则执行不需要的代码它。 html5地理位置api中是否有任何函数允许我这样做?

回答

1

首先,地理位置是是HTML5的一部分,它是W3C规范。其次,据我所知,没有一种方法可以做到这一点。快速浏览W3C Geolocation Specification并未发现任何内容。

我建议只是试图通过地理定位获取他们的位置,无论如何,如果它的工作,那么你可以假设权限已被授予,如果不运行的代码,不需要API。

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

0

据一个我知道,有没有这样的功能,我从来没有听说过这件事,所以你可能要等很长一段时间......

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); 
    }; 
}); 

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

然而,在这个时候是不是很广泛的Chrome和Firefox的支持外:http://caniuse.com/#feat=permissions-api