2012-04-24 66 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