1

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>
4

0 に答える 0