Si le navigateur est...alors...

Bonjour à toutes & tous,
J'aimerai trouver comment faire pour que lorsque un visiteur arrive sur mon site, son navigateur puisse être identifé et renvoyé si vers une autre page si le navigateur est...

Je m'explique, je viens de me lancer dans la création d'une e-boutique et j'ai reçu quelques mails de visiteurs m'avertissant que mon menu en Flash n'était pas lisible via leur IPhone ou autre téléphone.

Donc l'idée est qu'au moment ou le visiteur arrive sur l'index son navigateur est reconnu et si c'est un navigateur ne supportant pas le flash alors il sera redirigé vers une page avec menu en html/css.

Voilà j'espère avoir était la plus clair possible, merci d'avance de votre aide.

Sandra.
Configuration: Windows XP
Firefox 3.0.11

13 réponses

  1. Je ne m'y connais pas des masses mais il faut passer par le PHP avec des lignes de commandes telles que:

    # if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "Mozilla"))
    # $browser="Mozilla";
    #
    # /* Netscape */
    # if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "Netscape"))
    # $browser = "Netscape";
    #
    # /* Safari (Mac OS) */
    # else if(strchr($_SERVER[ 'HTTP_USER_AGENT' ], "Safari"))
    # $browser = "Safari";

    $_SERVER[ 'HTTP_USER_AGENT' : normalement le serveur récupère le "user agent" (que tu peux voir sur ce site en bas des commentaires des utilisateurs).
    En fonction des valeurs de la variable $browser, tu fais des mises en formes conditionnelles ou pour l'iPhone, tu renvoies vers un sous-domaine iphone.tonsite.com.
    1. Modérateur
      pas mal ça !
      si je mets :
      <?php ?>  if (eregi('msie', $_SERVER["HTTP_USER_AGENT"]) && !eregi('opera', $_SERVER["HTTP_USER_AGENT"])) {     // Internet Explorer  $navigateur="Internet Explorer"; } elseif (eregi('opera', $_SERVER["HTTP_USER_AGENT"])) {     // Opera  $navigateur="Opera"; } elseif (eregi('Mozilla/4.', $_SERVER["HTTP_USER_AGENT"])) {     // Netscape 4.x  $navigateur="Netscape 4.x"; } elseif (eregi('Mozilla/5.0', $_SERVER["HTTP_USER_AGENT"]) && !eregi('Konqueror', $_SERVER["HTTP_USER_AGENT"])) {     // Netscape 6  $navigateur="Netscape 6.x"; } else {     // Autres navigateurs  $navigateur="Navigateur inconnu"; } echo $navigateur; ?>  

      ce devrait être bon, mais que faut-il ajouter pour détecter maintenant aussi google chrome ?
      1. Contributeur
        En JS :

        var userAgent = navigator.userAgent.toLowerCase();
         
        // Figure out what browser is being used
        jQuery.browser = {
        	version: (userAgent.match( /.+(?:rv|it|ra|ie|me)[\/: ]([\d.]+)/ ) || [])[1],
        	chrome: /chrome/.test( userAgent ),
        	safari: /webkit/.test( userAgent ) && !/chrome/.test( userAgent ),
        	opera: /opera/.test( userAgent ),
        	msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
        	mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )
        };
        1. Modérateur
          chrome: /chrome/.test( userAgent ),
          

          ok mais pour la ligne à insérer dans le fichier php ... ???
          1. Contributeur
            Pourquoi du PHP ?
            J'ai dit que c'était du JavaScript...
            1. Modérateur
              regarde la n°3 ...on s'est croisé ..
          2. Contributeur
            function is_chrome() 
            { 
            return(eregi("chrome", $_SERVER['HTTP_USER_AGENT'])); 
            } 
              
            if(is_chrome()) 
            { 
            // do something if its chrome 
              
            echo 'You are using Google Chrome Browser.'; 
            } 
            1. Modérateur
              si je mets ceci :
              <?php
              echo 'Vous utilisez un navigateur de type: ';
              if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"])) {
                  echo "Internet explorer";
              } else if (ereg("^Mozilla/", $_SERVER["HTTP_USER_AGENT"])) {
                  echo "Netscape";
              } else if (ereg("^Opera/", $_SERVER["HTTP_USER_AGENT"])) {
                  echo "Opera";
              } else if (ereg("^Google/", $_SERVER["HTTP_USER_AGENT"])) {
                  echo "Google Chrome";
              } else {
                  echo "inconnu";
              }
              ?>
              


              c'est bon ???
              1. Contributeur
                Teste-le ^^
                1. Modérateur
                  justement ça n'a pas l'air très concluant !!!
                  mais le php et moi ...
              2. Contributeur
                Je n'ai pas chrome ,mais avec FF et IE, ça fonctionne bien :)
                1. Modérateur
                  pour moi, en test en local:
                  sous IE ok
                  sous ff : "Vous utilisez un navigateur de type: Netscape"
                  et sous chrome : "Vous utilisez un navigateur de type: Netscape" aussi là je coince !!!!
                  1. Contributeur
                    Essaye ceci :

                    <?php
                    echo 'Vous utilisez un navigateur de type: ';
                    if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"])) {
                        echo "Internet explorer";
                    } else if (ereg("^Mozilla/", $_SERVER["HTTP_USER_AGENT"])) {
                        echo "Netscape";
                    } else if (ereg("^Opera/", $_SERVER["HTTP_USER_AGENT"])) {
                        echo "Opera";
                    } else if (ereg("^Chrome/", $_SERVER["HTTP_USER_AGENT"])) {
                        echo "Google Chrome";
                    } else {
                        echo "inconnu";
                    }
                    ?>