首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复navigator.permissions.query

如何修复navigator.permissions.query
EN

Stack Overflow用户
提问于 2019-05-10 10:50:05
回答 1查看 1.4K关注 0票数 0

我有一个navigator.permissions.query而不是在工作

代码语言:javascript
复制
function handlePermission() {
  navigator.permissions.query({name:'geolocation'}).then(function(result) {
    if (result.state == 'granted') {
      report(result.state);
      geoBtn.style.display = 'none';
    } else if (result.state == 'prompt') {
      report(result.state);
      geoBtn.style.display = 'none';
      navigator.geolocation.getCurrentPosition(revealPosition,positionDenied,geoSettings);
    } else if (result.state == 'denied') {
      report(result.state);
      geoBtn.style.display = 'inline';
    }
    result.onchange = function() {
      report(result.state);
    }
  });
}

function report(state) {
  document.getElementById("t").innerHTML = ('Permission ' + state);
}

handlePermission();

我有一个活生生的例子这里,请检查我的代码,告诉我哪里出错了

EN

回答 1

Stack Overflow用户

发布于 2019-05-13 07:26:01

对于正在使用的函数,您应该再次阅读例句医生们。在您的实际示例中的错误消息非常清楚。

代码语言:javascript
复制
navigator.geolocation.getCurrentPosition(revealPosition,positionDenied,geoSettings);

您必须将正确/有效的参数传递给此函数。revealPosition是一个正在运行的函数,当用户授予地理位置时,positionDenied是一个正在运行的函数,当用户拒绝对地理位置的访问时,geoSettings是一个包含调用.getCurrentPosition的设置的对象。

因此,一旦创建了缺少的参数,而不是将未定义的引用传递给调用,该函数就会运行得很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56076122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档