【问题标题】:html navigator "User denied Geolocation"html 导航器“用户拒绝地理位置”
【发布时间】:2012-07-28 08:42:17
【问题描述】:

我在使用 window.navigator 时遇到问题,每当我将以下代码作为本地 html 文件运行时,我都会收到错误代码 1“用户拒绝地理位置”:

navigator.geolocation.getCurrentPosition(function(position) {
        console.log(position);
    }, function(positionError) {
        console.log(positionError);
    });

输出来自误差函数,positionError 包含:

code: 1
message: "User denied Geolocation"

如果包含的 html 是从某个服务器提供的,则不会发生这种情况。

这是预期的吗?有没有办法从本地 html 使用导航器?我正在尝试编写一些移动应用程序,但也尽可能避免使用网络。

谢谢。

【问题讨论】:

    标签: javascript html geolocation navigator


    【解决方案1】:

    只需点击网址左侧的小“i”符号:-(请参阅下图)

    然后检查该位置是否为'block'。将其更改为“允许”,然后重新加载页面。

    希望这会有所帮助。

    【讨论】:

    • 您的回答有帮助 - 我正在查看浏览器控制台,其中显示消息“地理定位权限已被阻止,因为用户已多次关闭权限提示。这可以在可以访问的页面信息中重置单击 URL 旁边的锁定图标。有关详细信息,请参阅 chromestatus.com/features/6443143280984064。这条 Chrome 消息毫无用处,甚至不准确。我什至找不到“页面信息”的重置位置。
    【解决方案2】:

    对我有用的一个简单响应是简单地从

    更改我的网址
    localhost
    

    127.0.0.1
    

    Chrome 让我确认我想分享我的位置设置,但我不在!

    【讨论】:

      【解决方案3】:

      如果您使用的是chrome,请看下面的答案:

      HTML 5 Geo Location Prompt in Chrome

      这似乎是file 协议的安全限制。看起来您需要从服务器本地托管它。

      【讨论】:

      • 一个非常简单的解决方案:如果您安装了 Python,请在终端/命令行/shell 中导航到项目的根目录并运行 python -m SimpleHTTPServer。 (来源:stackoverflow.com/questions/530787/simple-http-web-server
      • 注意:即使在使用服务器并刷新页面后,控制台也可能为空。在浏览器顶部搜索一个小栏或窗口,请求位置服务的许可。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-29
      • 2021-03-22
      • 2016-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多