bri*_*hen 7 javascript geolocation
这是我的代码的近似值:
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
function(position) {
// success!
},
function(error) {
// error
},
{ timeout: 10000 }
);
} else {
// your browser/device doesn't support geolocation
}
Run Code Online (Sandbox Code Playgroud)
当此代码运行时,浏览器会正确地要求用户跟踪其物理位置的权限.如果用户说"是",则它正确运行第一个参数('success')指定的函数.
我不清楚当用户说"不"时会发生什么.在我目前的测试中(在Firefox 7中),如果用户说"不",则没有任何反应.我有点期待错误回调(第二个函数)运行,但事实并非如此.我希望对用户的否定响应做出反应(通过删除触发此调用的链接).
你需要在第二个回调navigator.geolocation.getCurrentPosition()函数中处理它,它处理诸如用户拒绝其位置(以及其他事情)之类的问题.
navigator.geolocation.getCurrentPosition(fn, function(errorCode) {
if (errorCode == 1) {
alert('Y U NO GIVE LOCATION?');
}
});
Run Code Online (Sandbox Code Playgroud)