【发布时间】:2016-09-21 21:00:13
【问题描述】:
我刚刚发现谷歌浏览器不推荐使用 getCurrentPosition(),因为它们的来源不安全,它们只是允许 HTTPS。但我正在尝试在我的机器上运行这个 html 文件,据我所知,它应该是安全的。
来自 w3school 的示例
<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>
但这并没有显示我当前的位置,如果这意味着 chrome 将我的本地机器视为不安全的来源,有没有办法改变它?
【问题讨论】:
-
您是否通过本地服务器环境运行页面?对我来说效果很好。
-
我在谷歌浏览器上运行 HTML 文件,但不起作用
-
是的,你不能那样做。您需要通过本地服务器环境(例如 MAMP)运行它。在这里阅读:stackoverflow.com/a/5431823/2827407
标签: javascript html google-chrome