我在IE9及以后的地理定位方面遇到了一些问题。下面的脚本在所有其他浏览器中运行良好,淡出#loader中的消息并在其位置显示最近的位置。但是在ie9及以后,即使在请求使用您的物理位置时选择“允许”,#loader也不会淡出。
任何帮助表示赞赏。
<script type="text/javascript">
$(document).ready(function(){
function success(position) {
var s = document.querySelector('#status');
$("#loader").fadeOut();
if (s.className == 'success') {
return;
}
s.innerHTML = "found you!";
s.className = 'success';
$("input[name='user_lat']").val(position.coords.longitude);
$("input[name='user_lng']").val(position.coords.latitude);
if (navigator.geolocation) {
var form= $("#geofinder_form");
var url = $(form).attr('action');
var data = $(form).serialize();
$.post(url, data, function() {$('#store-details').load('http://www.myurl.com/location/'+position.coords.latitude+','+position.coords.longitude+'/100000'); return false;});
}
}
function error(msg) {
var s = document.querySelector('#status');
s.innerHTML = typeof msg == 'string' ? msg : "failed";
s.className = 'fail';
// console.log(arguments);
}
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success, error);
} else {
error('not supported');
}
});
</script>