2 回答
TA贡献1780条经验 获得超5个赞
转到 Finder -> Apple -> 系统偏好设置 -> 安全和隐私 -> 隐私,然后将 Safari 添加到白名单。尝试一下是否有效。
或者
在 Safari 中,选择 Safari > 首选项。单击“首选项”窗口中的“隐私”图标。取消选择“拒绝而不提示”选项。
TA贡献1779条经验 获得超6个赞
我通过处理错误解决了我的问题。Safari 和 ios 似乎需要错误处理才能工作。
这有效:
<!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, showError);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
function showError(error) {
switch(error.code) {
case error.PERMISSION_DENIED:
x.innerHTML = "User denied the request for Geolocation."
break;
case error.POSITION_UNAVAILABLE:
x.innerHTML = "Location information is unavailable."
break;
case error.TIMEOUT:
x.innerHTML = "The request to get user location timed out."
break;
case error.UNKNOWN_ERROR:
x.innerHTML = "An unknown error occurred."
break;
}
}
</script>
</body>
</html>
- 2 回答
- 0 关注
- 85 浏览
添加回答
举报