这似乎是默认行为:
navigator.geolocation.getCurrentPosition((position) => {
// doSomethingWithPoistion
})
使它被拒绝。所有后续呼叫均被拒绝。有没有一种方法,当用户在弹出窗口上点击阻止时,仅用于这种直接交互?
也就是说,我在页面加载时使用位置服务。我也有一个提示相同功能的按钮。如果用户拒绝定位服务,该按钮将不起作用(只需获取另一个错误回调)。
是否有办法使负载拒绝仅适用于此回调,并且不会将其设置为在随后的getCurrentPosition
调用中继续拒绝吗?
答案 0 :(得分:0)
根据我在Chrome浏览器中重新执行此操作时的判断,与其说是地理位置定位调用的否认而是不是地理位置定位调用的 blocking 。
在运行您在Chrome中提供的代码段时,只需按一下X
按钮退出权限弹出窗口,我便可以在每次运行代码时触发权限提示。如果我按下Block
按钮以关闭权限弹出窗口,则该网站将被添加到我在Chrome浏览器中被阻止的站点列表中,并且从不再次请求权限。
下面链接的此解决方案似乎是处理这种情况的更好方法之一。建议您检查地理位置许可的当前状态,并通知用户当前是否被拒绝。