【发布时间】:2016-01-02 01:58:57
【问题描述】:
处理 html5 地理定位。
在 mozilla、chrome、IE 上试过。在他们身上工作得很好,但对野生动物园不起作用。在 mac 上测试 safari(8.0.5),在 windows 上测试 safari(5.1)
只需点击网址
http://www.w3schools.com/html/html5_geolocation.asp
或
http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_geolocation
<!DOCTYPE html>
<html>
<body>
<p>Click the button to get your coordinates.</p>
<button onclick="getLocation()">Try It</button>
<p id="demo"></p>
<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>
</body>
</html>
它提供弹出窗口允许/禁止,但在允许后什么也不做。 我已经在连接了 Wi-Fi 的 Mac 上测试了 Safari,但也不适用于连接 Wi-Fi 和 LAN 的笔记本电脑。
【问题讨论】:
-
如果可能的话,您是否可以考虑通过将您正在测试的机器从其他地方的另一个网络通过 wifi 进行尝试来解决此问题?例如,如果可以的话,从公共 wifi 热点尝试一下。
-
不幸的是,当 Safari 执行此操作时,似乎没有有用的方法来以编程方式获取有关失败原因的信息(例如,如果由于机器使用以太网而导致失败)连接,Safari 不会以任何你能得到的方式暴露该细节)。但在这种情况下,您应该尝试使用 Geolocation API 的其他 Web 应用程序(例如,Web 教程站点中的演示应用程序),看看它们是否在您的环境中的 Safari 中也失败(几乎肯定会失败)。在这种情况下,您无法修复它。
-
@sideshowbarker 感谢您的建议 :),我已经在连接了 wi-fi 的 Mac 上测试了 safari,它在那里工作,但不适用于 wi-fi 和 LAN 上的笔记本电脑。
-
好的,看来您肯定遇到了stackoverflow.com/questions/3791442/geolocation-in-safari-5 中记录的已知问题,即 Safari 中的地理定位无法在具有有线/以太网连接的机器上工作,并且有没有针对该问题的修复或解决方法。
-
@sideshowbarker windows 有问题吗?我的意思是它可以在 Mac 上运行,但不能在与相同 Wi-Fi 连接的 Windows 上运行
标签: javascript html windows safari geolocation