19

我在使用 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 使用导航器?我正在尝试编写一些移动应用程序,但也尽可能避免使用网络。

谢谢。

4

3 回答 3

23

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

Chrome 中的 HTML 5 地理位置提示

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

于 2012-07-30T17:12:56.710 回答
7

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

localhost

127.0.0.1

Chrome 让我确认我想分享我的位置设置,但我离开了!

于 2016-08-18T15:36:16.540 回答
6

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

信息符号图

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

希望这可以帮助。

于 2019-06-28T05:58:07.360 回答