gpt4 book ai didi

javascript - rails 5 : Access to geolocation was blocked over insecure connection to http://localhost:3000

转载 作者:数据小太阳 更新时间:2023-10-29 04:31:47 32 4
gpt4 key购买 nike

我正在为我的 Rails 应用程序使用 html5 地理定位,但是当我单击 try it 按钮时,以下错误出现在 safari 浏览器控制台 下的 显示网络检查器控制台 :

getLocation — localhost:83[blocked] Access to geolocation was blocked over insecure connection to http://localhost:3000.

代码如下:

<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>

最佳答案

Safari(与 Chrome 和 Firefox 不同)不允许通过 HTTP 协议(protocol)访问地理定位 - 仅允许 HTTPS。即使对于本地主机。非常感谢 Apple。

解决方案是在开发中使用其他浏览器或通过 HTTPS 服务 Rails。为此,您可以生成自签名证书并设置 Rails 开发服务器(Webrick 或 Puma)以通过 HTTPS 提供服务。

Rails 5 默认使用 Puma,而早期版本使用 Webrick。

具体方法因您的操作系统和使用的服务器而异。

关于javascript - rails 5 : Access to geolocation was blocked over insecure connection to http://localhost:3000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46339325/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com