如何知道访问者拒绝与网站分享他们的位置
How to know that a visitor refused to share their location with the site?
我正在尝试使用HTML5地理定位来获取当前访问者的位置。出于隐私考虑,浏览器将提示用户允许/不允许与网站共享他们的位置。
如果用户不允许共享他们的位置,我想在控制台显示一条消息。
这是我所做的
$(function() {
// Try HTML5 geolocation.
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(function(position)
{
findClosestStore(position.coords.latitude, position.coords.longitude);
}, displayMapWithAddressBar);
}
else
{
// Browser doesn't support Geolocation
console.log('browser does not support geolocation!')
displayMapWithAddressBar();
}
});
function displayMapWithAddressBar()
{
console.log('Show the map since the location was not detected!');
}
但是当用户拒绝分享他们的位置时,我在控制台上看不到任何东西。我希望看到一条消息说Show the map since the location was not detected!
我怎么知道用户拒绝分享他们的位置?
我的代码工作如预期在谷歌浏览器,但不是在Firefox。我怎么能让这个工作在所有的浏览器?
无法区分他们是否拒绝了权限,或者他们的浏览器只是不兼容(至少在Firefox中是这样)。这样做的方法是显示带有地址栏的地图,或者其他默认行为,然后在它们接受时更新UI。这段代码要简单得多…
displayMapWithAddressBar();
navigator.geolocation.getCurrentPosition(function(position){
findClosestStore(position.coords.latitude, position.coords.longitude);
});
相关文章:
- 将Adobe创意编辑的图像上传到我的服务器,而不是他们的创意云
- ckeditor,并在用户键入时显示他们的数据
- Codecademy代码在他们的网站上连接到Youtube API,但赢得了't在本地运行
- AngularJs&Javascript嵌套函数&他们的调用
- 潜水者不适合放在他们的容器里,他们增加了像素
- 如何将相应的表头 (th) 复制到他们的表单元格 (td)
- 其他人可以在他们的 Node.js REPL 中使用 let 语句吗?
- 如何在推特上分享跨度的内容
- 37signals如何在他们的主页上改变这一天
- 浏览器供应商是否针对jQuery优化了他们的浏览器
- 为什么人们添加他们的JavaScript代码
- 如何使用他们的文件夹上传文件
- 循环这个.props.children我如何测试他们的类型
- 如何将现有 ul 的所有 li 添加到另一个 ul 的底部,基于他们的 css 类
- instaEarth是如何在他们的首页上创建地图的
- 导出高图表气泡纬度/纬度图通过他们的服务器
- SoundCloud和Vimeo在不同的标签中同步他们的播放器(有时也同步标签和嵌入式播放器)
- 我如何使别人在他们的网站上分享嵌入代码
- 在什么情况下我才能判断用户是否选择不分享他们的位置
- 如何知道访问者拒绝与网站分享他们的位置