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

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

HTML5 Geolocation 未在 Safari 瀏覽器上提示位置

HTML5 Geolocation 未在 Safari 瀏覽器上提示位置

侃侃無極 2022-07-01 10:17:44
我正在嘗試讓 Safari 使用非常簡單的代碼提示我輸入我的位置。我正在運行 Ubuntu 的 PC 上使用遠程Macbook mini。在 Macbook 環境中,以下代碼在 Firefox 和 Chrome 上運行良好。但是在 Safari 上沒有任何反應,我沒有得到提示或什么也沒有。我希望我在控制臺中收到任何錯誤,但該功能甚至根本不會觸發。什么都沒發生。納達。有人遇到過這樣的問題嗎?如果我去W3Schools上嘗試,同樣的事情會發生,這意味著我點擊 Try it,但沒有任何反應。但它在所有其他瀏覽器中都可以正常工作。代碼<!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 回答

?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊


轉到 Finder -> Apple -> 系統偏好設置 -> 安全和隱私 -> 隱私,然后將 Safari 添加到白名單。試試看是否可行。

或者

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


查看完整回答
反對 回復 2022-07-01
?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

我通過處理錯誤解決了我的問題。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>


查看完整回答
反對 回復 2022-07-01
  • 2 回答
  • 0 關注
  • 209 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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