地理定位不适用于chrome

时间:2016-05-09 07:28:10

标签: javascript html5 google-chrome

我在mozilla和chrome浏览器中使用了以下脚本。在mozilla,它询问我们是否共享位置。但是在Chrome中它没有显示任何内容。

<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
} else {
    x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
</script>

3 个答案:

答案 0 :(得分:5)

你使用Chrome50吗? 他们删除了对非https网站的GeoLocation支持。

https://developers.google.com/web/updates/2016/04/geolocation-on-secure-contexts-only

答案 1 :(得分:0)

我发现的一些事情可能导致这个问题。

首先是网页是否正在浏览文件系统,而不是通过网络服务器(例如,您只需通过浏览器直接打开存储在桌面上的html页面,而不是Apache / IIS通过http://localhost/ *)

提供服务

然而,有时候,仅通过localhost托管它还不够,但仍然失败。 您似乎经常需要一个公开托管的站点才能使脚本正常工作。为什么会这样,我不知道,但我只能假设客户端脚本实际上取决于相当多的服务器/域设置。

最后,有时可以通过启用高精度来解决(请参阅此处:https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/getCurrentPosition),但有时这样做的原因,我不确定。

答案 2 :(得分:0)

最近,我发现有时地理定位在Google Chrome浏览器中会停止工作。我能够通过在Chrome中清除浏览数据(菜单>更多工具>清除浏览数据)来解决此问题。