我正在使用pwa,而不是从浏览器设置面板中撤销权限,试图从权限API中撤销,但不幸的是得到了这个错误。
navigator.permissions.revoke不是一个函数。
请协助参考我采取的地理位置:)
navigator.permissions.query({name:'geolocation'}).then(result=>{
switch(result.state){
case 'denied': {
navigator.permissions.revoke({'name':'geolocation'}).then(resolve=>{
alert(resolve.state)
})
break;
}
case 'prompt':{
alert("need your permission")
break;
}
default:{
console.log("geolocation permission query: ",result)
break;
}
}
}).catch(error=>console.error(error))
并非所有的浏览器都提供权限撤销API,这是因为 MDN浏览器-兼容性
你可以试试这样的东西。
navigator.permissions.query({name:'geolocation'}).then(function(p) {
switch (p.state) {
case 'denied':
navigator.permissions.revoke({name:'geolocatoin'}).then(res=>{
alert(resolve.state)
})
case 'granted':
console.log('granted')
break;
case 'prompt':
console.log('prompt')
break;
}
});