javascript - HTML5 地理定位不会在 Safari 浏览器上提示输入位置

标签 javascript html geolocation

我正在尝试使用非常简单的代码让 Safari 提示我输入位置。我正在运行 Ubuntu 的 PC 上远程 Macbook mini 上工作。在 Macbook 环境中,下面的代码在 Firefox 和 Chrome 上运行得很好。但在 Safari 上什么也没有发生,我没有得到提示或什么也没有。我希望我在控制台中收到任何错误,但该功能根本不触发。什么都没发生。没什么。有人遇到过这样的问题吗?

如果我去这里试试 W3Schools同样的事情发生了,这意味着我点击“尝试”但没有任何反应。但它在所有其他浏览器中运行良好。

代码

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

最佳答案

转到 Finder -> Apple -> 系统偏好设置 -> 安全和隐私 -> 隐私,然后将 Safari 添加到白名单。尝试一下是否有效。

或者

在 Safari 中,选择 Safari > 首选项。单击“首选项”窗口中的“隐私”图标。取消选择“拒绝而不提示”选项。

关于javascript - HTML5 地理定位不会在 Safari 浏览器上提示输入位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61260570/

相关文章:

JavaScript NodeList 对象样式

php - 使用 PHP 清理 HTML5(防止 XSS)

javascript - Uncaught ReferenceError : google is not defined

javascript - 如果 ID 为数字,Bootstrap Accordion 不起作用

javascript - Skrollr,在方向改变时翻转图像

类中的 Javascript 递归

javascript - 如何给我的图像一个点击事件/动画

ios - 关闭的应用程序上的地理通知

objective-c - iOS 8 requestWhenInUseAuthorization 没有弹出

javascript - 使用 nodeJS 查询前 5 个查看项目(排序)的 Mongoose