Detection de navigateur

Signaler
Messages postés
1
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
22 juin 2008
-
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
-
Bonjour
est il possible de detecter si un visiteur utilise un telephone portable, afin de le ré orienter vers une page adaptée ?
merci

3 réponses

Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
32
Salut,

normalement oui car ils ont des navigateurs souvent spécial et légers essai d'utiliser la propriété de navigator : appname....

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Salut ;)

Oui, c'est possible.
En fait, il vaut vérifier que le navigateur puisse le lire ... donc, il suffit de chercher dans le HTTP_ACCEPT et dans le HTTP_USER_AGENT (les navigateur compatibles).

Je viens de poster un snipet PHP avec une fonction, je te la mets (apres il faut voir pour l'exporter en javascript)

function Browser_is_Wap($ReturnBrowser=true)
{

    // If is WAP BROWSER : header('Content-type: text/vnd.wap.wml');


    $agent=trim(getenv('HTTP_USER_AGENT'));

    $_wap=false;

    $_browser=null;


    // I search if is a WAP Browser

    // On cherche si c'est un navigateur compatible WAP

    $regex='/(wap|windows ce|palm[os]|pda;|up\.br|\/cldc|midp|symbian[ \/o]|ericsson|portalmmm|nokia|BlackBerry|PANTECH|\bcdm\b|\bvirtual\b|^lge?[\/-]|Klondike|pocketPC|series60|Vodafone|^HTC\-)/i';

    if(ereg($regex,$agent,$reg))

    {

        $_browser=$reg[1];

        $_wap=true;

    }

    // Else, I search if the browser accept WAP

    // Sinon, on cherche si le navigateur accepte le WAP

    elseif(strpos(strtoupper(getenv('HTTP_ACCEPT')),'VND.WAP.WML')>0)

    {

        $_wap=true;

    }

    else

    {

        // Dans le dernier cas, on cherche le browser du navigateur (PC)

        $list_pc_browser=array('mozilla','gecko','opera','omniweb','msie','konqueror','safari','netpositive','lynx','elinks','links','w3m','webtv','amaya','dillo','ibrowse','icab','crazy browser','internet explorer');

        foreach($list_pc_browseras$browser)

        {

            if(stristr($agent,$browser))

            {

                $_browser=$browser;

                break;

            }

        }

    }

    if($ReturnBrowser)

    {

        returnarray($_wap,$browser);

    }

    else

    {

        return$_wap;

    }
}


Browser_is_Wap(false) : retourne "(bool) BROWSER_IS_COMPATIBLE_WAP" -> true/false
Browser_is_Wap(true) : retourne "array((bool) BROWSER_IS_COMPATIBLE_WAP, (string) Browser)"

<hr />Si ma reponse te convient, merci de l'accepter ! 
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Arf, petite erreur ...







return array($_wap, $_
browser);









Saleté de colorateur automatique (qui met pas en couleur ^^)

Au fait, si un admin passe par ici ... je crois qu'il y a la même erreur dans le snippet :s (sorry :S)

Et voila la version javascript ;)




























<gras>function Browser_WAP(ReturnBrowser)



{



    ReturnBrowser (typeof(ReturnBrowser) 'undefined') ? true : ReturnBrowser;



    



    _browser = null;



    _wap = false;



    agent = navigator.userAgent.toLowerCase();



    



    wap_regexp = new RegExp('(windows ce|palm[os]|pda;|up\.br|\/cldc|midp|symbian[ \/o]|ericsson|portalmmm|nokia|BlackBerry|PANTECH|\bcdm\b|\bvirtual\b|^lge?[\/-]|Klondike|pocketPC|series60|Vodafone|wap|^HTC\-)', 'i' ) ;



    list_pc_browser = ['msie 7', 'msie 6', 'firefox/2', 'firefox', 'nescape/7', 'nescape', 'opera/9', 'opera', 'omniweb', 'msie', 'konqueror', 'safari', 'netpositive', 'mozilla', 'gecko', 'lynx', 'elinks', 'links', 'w3m', 'webtv', 'amaya', 'dillo', 'ibrowse', 'icab', 'crazy browser', 'internet explorer'];



    



    if( (reg = agent.match(wap_regexp)) )



    {



        _wap = true;



        _browser = reg[1];



    }



    else



    {



        for( browser in list_pc_browser )



        {



            if( agent.indexOf(list_pc_browser[browser]) != -1 )



            {



                _browser = list_pc_browser[browser];



                break;



            }



        }



    }



    



    if( ReturnBrowser )



    {



        return new Array(_wap, _browser);



    }



    else



    {



        return _wap;



    }



}










<hr />





Si ma reponse te convient, merci de l'accepter !