Javascript “html导航器”;“用户拒绝地理定位”;

Javascript “html导航器”;“用户拒绝地理定位”;,javascript,html,geolocation,navigator,Javascript,Html,Geolocation,Navigator,我对window.navigator有一个问题,每当我将以下代码作为本地html文件运行时,都会收到错误代码1,“用户拒绝地理位置”: navigator.geolocation.getCurrentPosition(function(position) { console.log(position); }, function(positionError) { console.log(positionError); }); 输出来自错误函数,po

我对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使用navigator?我试图写一些移动应用程序,但也尽量避免网络


谢谢。

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


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

对我来说,一个简单的解决方法是将我的url从

localhost


Chrome要求我确认我想分享我的位置设置,但我不在

只需单击url左侧的小“i”符号:-(参见下图)

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


希望这有帮助。

这是一个非常简单的解决方案:如果安装了Python,请在终端/命令行/shell中导航到项目的根目录,然后运行
Python-msimplehttpserver
。(来源:)注意:即使在使用服务器并刷新页面后,控制台也可能是空的。在浏览器顶部搜索一个小酒吧或窗口,请求获得位置服务许可。您的回答很有帮助-我正在查看包含该消息的浏览器控制台“由于用户多次取消权限提示,地理位置权限已被阻止。这可以在页面信息中重置,通过单击URL旁边的锁定图标可以访问页面信息。这条Chrome信息毫无用处,甚至不准确。我甚至找不到“页面信息”的位置来重置它。
127.0.0.1