IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Comment connaitre la version du navigateur (IE6 ou IE7) ?


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Points : 312
    Points
    312
    Par défaut Comment connaitre la version du navigateur (IE6 ou IE7) ?
    Bonjour,

    Je sais qu'il existe des scripts javascript pour savoir quel navigateur utilise le client. Je voudrais aller plus loin et savoir si l'utilisateur possède IE6 ou IE7. Est-ce que cela est possible et si oui comment ?

    Merci davance de vos réponses

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    une petite recherche sur google avec browser sniffer ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    <script type='text/javascript'>
     
     
    // Ultimate client-side JavaScript client sniff. Version 3.03
    // (C) Netscape Communications 1999.  Permission granted to reuse and distribute.
    // Revised 17 May 99 to add is.nav5up and is.ie5up (see below).
    // Revised 21 Nov 00 to add is.gecko and is.ie5_5 Also Changed is.nav5 and is.nav5up to is.nav6 and is.nav6up
    // Revised 22 Feb 01 to correct Javascript Detection for IE 5.x, Opera 4, 
    //                      correct Opera 5 detection
    //                      add support for winME and win2k
    //                      synch with browser-type-oo.js
    // Revised 26 Mar 01 to correct Opera detection
    // Revised 02 Oct 01 to add IE6 detection
     
    // Everything you always wanted to know about your JavaScript client
    // but were afraid to ask ... "Is" is the constructor function for "is" object,
    // which has properties indicating:
    // (1) browser vendor:
    //     is.nav, is.ie, is.opera, is.hotjava, is.webtv, is.TVNavigator, is.AOLTV
    // (2) browser version number:
    //     is.major (integer indicating major version number: 2, 3, 4 ...)
    //     is.minor (float   indicating full  version number: 2.02, 3.01, 4.04 ...)
    // (3) browser vendor AND major version number
    //     is.nav2, is.nav3, is.nav4, is.nav4up, is.nav6, is.nav6up, is.gecko, is.ie3, 
    //     is.ie4, is.ie4up, is.ie5, is.ie5up, is.ie5_5, is.ie5_5up, is.ie6, is.ie6up, is.hotjava3, is.hotjava3up
    // (4) JavaScript version number:
    //     is.js (float indicating full JavaScript version number: 1, 1.1, 1.2 ...)
    // (5) OS platform and version:
    //     is.win, is.win16, is.win32, is.win31, is.win95, is.winnt, is.win98, is.winme, is.win2k
    //     is.os2
    //     is.mac, is.mac68k, is.macppc
    //     is.unix
    //     is.sun, is.sun4, is.sun5, is.suni86
    //     is.irix, is.irix5, is.irix6
    //     is.hpux, is.hpux9, is.hpux10
    //     is.aix, is.aix1, is.aix2, is.aix3, is.aix4
    //     is.linux, is.sco, is.unixware, is.mpras, is.reliant
    //     is.dec, is.sinix, is.freebsd, is.bsd
    //     is.vms
    //
    // See http://www.it97.de/JavaScript/JS_tutorial/bstat/navobj.html and
    // http://www.it97.de/JavaScript/JS_tutorial/bstat/Browseraol.html
    // for detailed lists of userAgent strings.
    //
    // Note: you don't want your Nav4 or IE4 code to "turn off" or
    // stop working when Nav5 and IE5 (or later) are released, so
    // in conditional code forks, use is.nav4up ("Nav4 or greater")
    // and is.ie4up ("IE4 or greater") instead of is.nav4 or is.ie4
    // to check version in code which you want to work on future
    // versions.
     
     
    function Is ()
    {   // convert all characters to lowercase to simplify testing
        var agt=navigator.userAgent.toLowerCase();
     
        // *** BROWSER VERSION ***
        // Note: On IE5, these return 4, so use is.ie5up to detect IE5.
     
        this.major = parseInt(navigator.appVersion);
        this.minor = parseFloat(navigator.appVersion);
     
        // Note: Opera and WebTV spoof Navigator.  We do strict client detection.
        // If you want to allow spoofing, take out the tests for opera and webtv.
        this.nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
                    && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
                    && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
        this.nav2 = (this.nav && (this.major == 2));
        this.nav3 = (this.nav && (this.major == 3));
        this.nav4 = (this.nav && (this.major == 4));
        this.nav4up = (this.nav && (this.major >= 4));
        this.navonly      = (this.nav && ((agt.indexOf(";nav") != -1) ||
                              (agt.indexOf("; nav") != -1)) );
        this.nav6 = (this.nav && (this.major == 5));
        this.nav6up = (this.nav && (this.major >= 5));
        this.gecko = (agt.indexOf('gecko') != -1);
     
     
        this.ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
        this.ie3    = (this.ie && (this.major < 4));
        this.ie4    = (this.ie && (this.major == 4) && (agt.indexOf("msie 4")!=-1) );
        this.ie4up  = (this.ie  && (this.major >= 4));
        this.ie5    = (this.ie && (this.major == 4) && (agt.indexOf("msie 5.0")!=-1) );
        this.ie5_5  = (this.ie && (this.major == 4) && (agt.indexOf("msie 5.5") !=-1));
        this.ie5up  = (this.ie  && !this.ie3 && !this.ie4);
        this.ie5_5up =(this.ie && !this.ie3 && !this.ie4 && !this.ie5);
        this.ie6    = (this.ie && (this.major == 4) && (agt.indexOf("msie 6.")!=-1) );
        this.ie6up  = (this.ie  && !this.ie3 && !this.ie4 && !this.ie5 && !this.ie5_5);
     
        // KNOWN BUG: On AOL4, returns false if IE3 is embedded browser
        // or if this is the first browser window opened.  Thus the
        // variables is.aol, is.aol3, and is.aol4 aren't 100% reliable.
        this.aol   = (agt.indexOf("aol") != -1);
        this.aol3  = (this.aol && this.ie3);
        this.aol4  = (this.aol && this.ie4);
        this.aol5  = (agt.indexOf("aol 5") != -1);
        this.aol6  = (agt.indexOf("aol 6") != -1);
     
        this.opera = (agt.indexOf("opera") != -1);
        this.opera2 = (agt.indexOf("opera 2") != -1 || agt.indexOf("opera/2") != -1);
        this.opera3 = (agt.indexOf("opera 3") != -1 || agt.indexOf("opera/3") != -1);
        this.opera4 = (agt.indexOf("opera 4") != -1 || agt.indexOf("opera/4") != -1);
        this.opera5 = (agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1);
        this.opera5up = (this.opera && !this.opera2 && !this.opera3 && !this.opera4);
     
        this.webtv = (agt.indexOf("webtv") != -1); 
     
        this.TVNavigator = ((agt.indexOf("navio") != -1) || (agt.indexOf("navio_aoltv") != -1)); 
        this.AOLTV = this.TVNavigator;
     
        this.hotjava = (agt.indexOf("hotjava") != -1);
        this.hotjava3 = (this.hotjava && (this.major == 3));
        this.hotjava3up = (this.hotjava && (this.major >= 3));
     
        // *** JAVASCRIPT VERSION CHECK ***
        if (this.nav2 || this.ie3) this.js = 1.0;
        else if (this.nav3) this.js = 1.1;
        else if (this.opera5up) this.js = 1.3;
        else if (this.opera) this.js = 1.1;
        else if ((this.nav4 && (this.minor <= 4.05)) || this.ie4) this.js = 1.2;
        else if ((this.nav4 && (this.minor > 4.05)) || this.ie5) this.js = 1.3;
        else if (this.hotjava3up) this.js = 1.4;
        else if (this.nav6 || this.gecko) this.js = 1.5;
        // NOTE: In the future, update this code when newer versions of JS
        // are released. For now, we try to provide some upward compatibility
        // so that future versions of Nav and IE will show they are at
        // *least* JS 1.x capable. Always check for JS version compatibility
        // with > or >=.
        else if (this.nav6up) this.js = 1.5;
        // note ie5up on mac is 1.4
        else if (this.ie5up) this.js = 1.3
     
        // HACK: no idea for other browsers; always check for JS version with > or >=
        else this.js = 0.0;
     
        // *** PLATFORM ***
        this.win   = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
        // NOTE: On Opera 3.0, the userAgent string includes "Windows 95/NT4" on all
        //        Win32, so you can't distinguish between Win95 and WinNT.
        this.win95 = ((agt.indexOf("win95")!=-1) || (agt.indexOf("windows 95")!=-1));
     
        // is this a 16 bit compiled version?
        this.win16 = ((agt.indexOf("win16")!=-1) || 
                   (agt.indexOf("16bit")!=-1) || (agt.indexOf("windows 3.1")!=-1) || 
                   (agt.indexOf("windows 16-bit")!=-1) );  
     
        this.win31 = ((agt.indexOf("windows 3.1")!=-1) || (agt.indexOf("win16")!=-1) ||
                        (agt.indexOf("windows 16-bit")!=-1));
     
        // NOTE: Reliable detection of Win98 may not be possible. It appears that:
        //       - On Nav 4.x and before you'll get plain "Windows" in userAgent.
        //       - On Mercury client, the 32-bit version will return "Win98", but
        //         the 16-bit version running on Win98 will still return "Win95".
        this.win98 = ((agt.indexOf("win98")!=-1) || (agt.indexOf("windows 98")!=-1));
        this.winnt = ((agt.indexOf("winnt")!=-1) || (agt.indexOf("windows nt")!=-1));
        this.win32 = (this.win95 || this.winnt || this.win98 || 
                        ((this.major >= 4) && (navigator.platform == "Win32")) ||
                        (agt.indexOf("win32")!=-1) || (agt.indexOf("32bit")!=-1));
     
        this.winme = ((agt.indexOf("win 9x 4.90")!=-1));
        this.win2k = ((agt.indexOf("windows nt 5.0")!=-1));
     
        this.os2   = ((agt.indexOf("os/2")!=-1) || 
                        (navigator.appVersion.indexOf("OS/2")!=-1) ||   
                        (agt.indexOf("ibm-webexplorer")!=-1));
     
        this.mac    = (agt.indexOf("mac")!=-1);
        // hack ie5 js version for mac
        if (this.mac && this.ie5up) this.js = 1.4;
        this.mac68k = (this.mac && ((agt.indexOf("68k")!=-1) || 
                                   (agt.indexOf("68000")!=-1)));
        this.macppc = (this.mac && ((agt.indexOf("ppc")!=-1) || 
                                    (agt.indexOf("powerpc")!=-1)));
     
        this.sun   = (agt.indexOf("sunos")!=-1);
        this.sun4  = (agt.indexOf("sunos 4")!=-1);
        this.sun5  = (agt.indexOf("sunos 5")!=-1);
        this.suni86= (this.sun && (agt.indexOf("i86")!=-1));
        this.irix  = (agt.indexOf("irix") !=-1);    // SGI
        this.irix5 = (agt.indexOf("irix 5") !=-1);
        this.irix6 = ((agt.indexOf("irix 6") !=-1) || (agt.indexOf("irix6") !=-1));
        this.hpux  = (agt.indexOf("hp-ux")!=-1);
        this.hpux9 = (this.hpux && (agt.indexOf("09.")!=-1));
        this.hpux10= (this.hpux && (agt.indexOf("10.")!=-1));
        this.aix   = (agt.indexOf("aix") !=-1);      // IBM
        this.aix1  = (agt.indexOf("aix 1") !=-1);    
        this.aix2  = (agt.indexOf("aix 2") !=-1);    
        this.aix3  = (agt.indexOf("aix 3") !=-1);    
        this.aix4  = (agt.indexOf("aix 4") !=-1);    
        this.linux = (agt.indexOf("inux")!=-1);
        this.sco   = (agt.indexOf("sco")!=-1) || (agt.indexOf("unix_sv")!=-1);
        this.unixware = (agt.indexOf("unix_system_v")!=-1); 
        this.mpras    = (agt.indexOf("ncr")!=-1); 
        this.reliant  = (agt.indexOf("reliantunix")!=-1);
        this.dec   = ((agt.indexOf("dec")!=-1) || (agt.indexOf("osf1")!=-1) || 
                      (agt.indexOf("dec_alpha")!=-1) || (agt.indexOf("alphaserver")!=-1) || 
                      (agt.indexOf("ultrix")!=-1) || (agt.indexOf("alphastation")!=-1)); 
        this.sinix = (agt.indexOf("sinix")!=-1);
        this.freebsd = (agt.indexOf("freebsd")!=-1);
        this.bsd = (agt.indexOf("bsd")!=-1);
        this.unix  = ((agt.indexOf("x11")!=-1) || this.sun || this.irix || this.hpux || 
                     this.sco ||this.unixware || this.mpras || this.reliant || 
                     this.dec || this.sinix || this.aix || this.linux || this.bsd || this.freebsd);
     
        this.vms   = ((agt.indexOf("vax")!=-1) || (agt.indexOf("openvms")!=-1));
    }
     
    var is;
    var isIE3Mac = false;
    // this section is designed specifically for IE3 for the Mac
     
    if ((navigator.appVersion.indexOf("Mac")!=-1) && (navigator.userAgent.indexOf("MSIE")!=-1) && 
    (parseInt(navigator.appVersion)==3))
           isIE3Mac = true;
    else   is = new Is(); 
     
     
    </script>
     
    </head>
     
    <body onload="Is();alert(is.ie6)">
     
    </body>

  3. #3
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 729
    Points
    1 729
    Par défaut
    Sinon, j'ai lu quelquepart (quirksmode?) que ce n'était pas une tres bonne idée de se fier au type de navigateur mais plutot aux fonctionnalités qu'il propose, cela en testant la presence des methodes qui nous interessent.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        if( typeof(event.pageX)=='number' )

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    oui on peut toujours faire renvoyer un navigateur un autre type ...

Discussions similaires

  1. comment connaitre la version mod_jk
    Par yanis97 dans le forum Apache
    Réponses: 3
    Dernier message: 05/06/2008, 14h09
  2. [BO XI] Comment connaitre sa version de BO XI
    Par warriorfr dans le forum Administration-Migration
    Réponses: 4
    Dernier message: 17/03/2008, 16h03
  3. comment connaitre la version "linguistique" de la date
    Par Ohemeg dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 27/02/2008, 13h22
  4. Comment connaitre à quelle version correspond un fichier jar ?
    Par Pierre8r dans le forum Général Java
    Réponses: 1
    Dernier message: 25/06/2007, 10h51
  5. oracle 9.2.0.6 : comment connaitre la version précise
    Par Commandant dans le forum Oracle
    Réponses: 18
    Dernier message: 28/09/2006, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo