Best you can do is to keep track of this yourself...
// In chrome you can now do this
navigator.permissions.query({name: 'geolocation'}).then(function(PermissionStatus){
console.log(PermissionStatus.state) // prompt, granted, denied
// even listen for changes
PermissionStatus.onchange = function(){
console.log(this.state)
}
})
fallback method:
// initialization
if( sessionStorage.getItem("geo_access") === null ){
// just assume it is prompt
sessionStorage.setItem("geo_access", "prompt");
}
function ask(){
navigator.geolocation.getCurrentPosition(function(){
sessionStorage.setItem("geo_access", "granted");
}, function(err){
if(err.code == 1){ // PERMISSION_DENIED
sessionStorage.setItem("geo_access", "denied");
}
sessionStorage.setItem("geo_access", "prompt");
});
};
// Then somewhere
ask();