亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

HTML5 地理定位不會在 Safari 瀏覽器上提示輸入位置

HTML5 地理定位不會在 Safari 瀏覽器上提示輸入位置

叮當貓咪 2024-01-03 14:20:03
我正在嘗試使用非常簡單的代碼讓 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>
查看完整描述

2 回答

?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

轉到 Finder -> Apple -> 系統偏好設置 -> 安全和隱私 -> 隱私,然后將 Safari 添加到白名單。嘗試一下是否有效。

或者

在 Safari 中,選擇 Safari > 首選項。單擊“首選項”窗口中的“隱私”圖標。取消選擇“拒絕而不提示”選項。


查看完整回答
反對 回復 2024-01-03
?
哆啦的時光機

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>


查看完整回答
反對 回復 2024-01-03
  • 2 回答
  • 0 關注
  • 144 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號