“;没有动作”;navigator.geolocation.getCurrentPosition的回调
Where is the "no-action" callback for navigator.geolocation.getCurrentPosition?
当向浏览器请求访问当前位置的权限时,确定用户是否忽略了浏览器提示或选择了"现在不"选项的最佳方法是什么?
这种情况下似乎没有触发超时。
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
currentLocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
callback();
}, function() {
currentLocation = default_location;
callback();
},{timeout: 5000});
}
我现在使用的解决方案是使用currentLocation的默认位置,并在用户响应浏览器提示而触发回调时刷新页面/视图。
根据HTML5地理位置规范,在用户采取行动之前,您指定的5秒超时不会启动。
请注意,获取用户权限所花费的时间不包括在超时属性所涵盖的时间段中。超时属性仅适用于位置获取操作。
第二个回调函数应该在用户在浏览器中单击"拒绝"后立即启动,但如果用户忽略提示并让它坐着,则不会启动任何回调函数。传统的实现是假设用户没有地理定位功能,不会点击提示,将其更多地用作增强功能,而不是必需的功能。
或者,您可以设计页面来帮助指导用户采取行动,抛出一个深色div,用"点击此处"文本屏蔽整个页面。
相关文章:
- chrome扩展中的navigator.geolocation.getCurrentPosition
- 有没有一种方法可以防止img get请求使用css或js发生
- geolocation-marker.js conflict with markerclusterer.js
- CORS-重定向到第二个GET正在接收的页面
- jQuery Ajax GET请求工作不正常
- 如何将PHP get查询转换为Meteor's HTTP.get()
- 返回/从Twit's客户端.get
- AngularJS错误:提供程序必须从$get工厂方法返回值
- 使用(navigator.geolocation)检测浏览器功能错误
- 如何在router.get()方法中传递url作为参数
- 使用Javascript/JQuery获取JSON GET数据
- 如何使用php文件中的GET来获取我在.js文件中声明的变量
- Get方法获取csv文件的内容
- 什么'$.get和$.ajax之间的区别是什么
- I'我得到这个.get()在ember中未定义
- Babel编译错误:找不到模块核心js/library/fn/get迭代器
- 在百度地图中显示navigator.geolocation.getCurrentPosition
- Datatable get列值只给出前10行
- Angularjs http.get() Cross-Origin 请求被阻止
- Angular js http get返回所有页面