1

参考:http ://dev.w3.org/geo/api/spec-source.html#permission_denied_error

如何同步检测(并且不提示对话框要求接受许可)用户之前是否拒绝访问地理位置数据?

4

1 回答 1

2

您不能同步执行检查。如果他们以前拒绝访问,我建议将值存储到 localStorage:

navigator.geolocation.getCurrentPosition(function () { 
  // success
  localStorage.setItem('userDeniedGeo', false);
}, function (err) { 
  // if permission denied
  if (err.code === 1) {
    localStorage.setItem('userDeniedGeo', true);
  }
});

从那时起,您可以访问 localStorage 以获取答案,而不是使用navigator同步的

localStorage.getItem('userDeniedGeo');
于 2015-02-17T11:04:53.983 回答