我有一個檢查GeoLocation API的代碼片段。如果可用,我試圖獲得當前位置。但是取決於瀏覽器,代碼的工作方式不同:HTML5地理位置API - 不調用任何回調
-
在IE
- ,successCallback被稱爲每F5 refres
- 在FF,我得到successCallback或errorCallback與鉻
- 錯誤代碼= 2(POSITION_UNAVAILABLE)我得到successCallback或...什麼也沒有。我等待,沒有任何東西
其實我需要以一致的方式調用successCallback ...是否有改變來實現它?
代碼片段:
function successCallback(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
alert("Your location is: " + latitude + "," + longitude);
}
function errorCallback(error) {
console.log(error);
}
if (Modernizr.geolocation) {
navigator.geolocation.getCurrentPosition(successCallback, errorCallback, { maximumAge: 0 });
alert("geolocation is enabled");
} else {
alert("geolocation is NOT enabled");
}
快速注1:
alert("geolocation is enabled");
被稱爲每次。
快速注2:
設置:
maximumAge: 1
效果更好。現在Chrome每次都會調用successCallback Chrome &。只有FF嚇到我了,它隨機調用successCallback。