javascript - 有没有办法重新询问用户获取他的位置的权限,或者使用带有 javascript 的地理定位 API 删除旧设置?
问题描述
我构建了一个应用程序,我需要用户的位置来完成他的注册,但是我该怎么做才能让他允许呢?我的意思是,弹出窗口说“系统要访问您的位置,要允许吗?”,如果他/她允许,那很好,但如果他/她拒绝,我想重新问他,说些什么比如,你不能继续,除非你允许我们得到你的位置,然后再问他。因为我知道你可以清理你的位置设置去 chorme 设置等,但是有什么方法可以通过 javascript 来完成吗?
这是我的功能
function pegaPaisUser(){
navigator.geolocation.getCurrentPosition(addPaisToUser,localizacaoNegada);
}
function localizacaoNegada(erro){
pegaPaisUser();
console.log("HERE")
}[![my console][1]][1]
解决方案
使用下面的代码时,我看到第一次单击该站点时,我会被要求获得位置服务的许可。如果我拒绝并再试一次,我会在 Chrome 栏中看到一个小图标,但仅此而已。似乎您应该向用户说明如何选择它。或者以其他方式说服他们第一次给予访问权限。
<div class="message">
<p>This application needs the location services. Please click the button if you want to allow location services to be used.</p>
<button class="js-retry-location">Allow Location services</button>
</div>
const retryButton = document.querySelector('.js-retry-location');
retryButton.addEventListener('click', event => {
navigator.geolocation.getCurrentPosition({ coords }=> {
console.log(coords);
});
});
推荐阅读
- python - 随机 url 生成器,但确保结果是唯一的
- python - 熊猫将(不等长度)列表的列拆分为多列
- python - Youtube V3 API 不对视频进行排序
- azure-devops - 将管道变量从 Designer 传递到 YAML 作业模板
- node.js - 有没有办法使用多个优先路径来保存 pug 文件?
- db2-400 - 在 QSYS2 中使用函数 TIMESTAMP_FORMAT 无效。成员数据映射错误
- java - kotlin-jpa 插件不生成默认构造函数
- jquery - 未捕获的 SyntaxError:意外的标识符和意外的令牌
- php - PHP 根缓冲区中的内容以及如果它大于 10K 会发生什么
- java - 即使应用程序恢复,如何使 SeekBar 指示当前位置?