HTML 5 地理定位在 Safari 中不起作用

Posted

技术标签:

【中文标题】HTML 5 地理定位在 Safari 中不起作用【英文标题】:HTML 5 Geolocalization doesn't work in Safari 【发布时间】:2017-06-06 17:34:33 【问题描述】:

我有这个识别用户位置的基本功能:

function getLocation()


if (navigator.geolocation)


navigator.geolocation.getCurrentPosition(showmyPosition, errorCallback);

else

alert("Geolocation is not supported by this browser."); 



function showmyPosition(position)
   
document.location.href="/search?lat="+  position.coords.latitude +"&lng="+ position.coords.longitude +"";
    

function errorCallback(error) 
if (error.code === 1) 
alert("User denied geolocation");


在 Firefox、Chrome 和 Explorer 上运行良好,但在 Safary 上无法运行(在 iPhone 上也不行)。为什么?

【问题讨论】:

【参考方案1】:

如果地理定位在配置中被关闭,它将不起作用。此外,它需要secure (HTTPS) protocol。你也可以看看 JS-lib:https://code.google.com/archive/p/geo-location-javascript/

【讨论】:

以上是关于HTML 5 地理定位在 Safari 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

W3C 地理定位 API 在 Safari 5 上不起作用

HTML5 地理定位在 Safari 上不起作用 - Mac OS/iOS

地理定位在谷歌浏览器中不起作用

固定定位在 Safari 7 中不起作用

javascript - 地理定位在codepen中不起作用

GPS 地理定位应用程序在 Android 的 Phonegap 中不起作用