Eh bien, la seule façon de détecter géolocalisation est avec le navigateur , et utilisé comme ceci:
if(navigator.geolocation)
{
//Geo in Browser
}
alors ce que je personnellement faire est de créer une requête Ajax au serveur et faire une redirection comme ceci:
if(navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(function(position){
/*
* Send Position to server where you can store it in Session
*/
document.location = '/'; //Redirect and use the session data from above
}, function(message){
/*
* Send false to the server, and then refresh to remove the js geo check.
*/
});
}
côté serveur que vous feriez quelque chose comme ceci:
<?php /* session/geolocation.php */
//Require system files
include '../MasterBootloader.php';
/*
* Session is already started in the above inclustion
*/
if(!isset($_SESSION['geo']['checked']) && is_agax_request())
{
$_SESSION['geo'] = array();
if(isset($_GET['postition']))
{
$_SESSION['geo']['supported'] = true;
$_SESSION['geo']['location'] = json_decode($_REQUEST['geo_position']);
}
$_SESSION['geo']['checked'] = true;
}
?>
maintenant quand le javascript vous redirige, dans l'index, vous pouvez vérifier si le existe avant la sortie de votre html, vous saurez côté serveur si GEO est supporté!
bonne idée de créer une balise en JavaScript lui-même. Exactement ce dont j'avais besoin. Merci! – Aayush
yepnope est construit pour ce cas d'utilisation: http://yepnopejs.com/ –
Ah - je ne savais pas à ce sujet. Merci Paul –