我正在创建一个向特定网站注入一些JavaScript的浏览器扩展。来自第三方脚本的html5地理位置权限
脚本的功能需要知道用户是否为指定的站点启用了地理定位。到目前为止,我只看到了JavaScript的示例,要求用户在网站上获得许可,然后决定做什么。
为了尽可能地向用户介绍,我想知道用户是否已经允许网站使用其地理位置,如果有,请使用该信息,否则执行不需要的代码它。 html5地理位置api中是否有任何函数允许我这样做?
我正在创建一个向特定网站注入一些JavaScript的浏览器扩展。来自第三方脚本的html5地理位置权限
脚本的功能需要知道用户是否为指定的站点启用了地理定位。到目前为止,我只看到了JavaScript的示例,要求用户在网站上获得许可,然后决定做什么。
为了尽可能地向用户介绍,我想知道用户是否已经允许网站使用其地理位置,如果有,请使用该信息,否则执行不需要的代码它。 html5地理位置api中是否有任何函数允许我这样做?
首先,地理位置是不是HTML5的一部分,它是W3C规范。其次,据我所知,没有一种方法可以做到这一点。快速浏览W3C Geolocation Specification并未发现任何内容。
我建议只是试图通过地理定位获取他们的位置,无论如何,如果它的工作,那么你可以假设权限已被授予,如果不运行的代码,不需要API。
我知道你不想明确地询问用户的许可,但它只会是一次,所以你也可以。
据一个我知道,有没有这样的功能,我从来没有听说过这件事,所以你可能要等很长一段时间......
它看起来像现在有一个“权限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