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 :

Détection de IE7


Sujet :

JavaScript

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    849
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 849
    Points : 295
    Points
    295
    Par défaut Détection de IE7
    Bonjour,

    Je cherche à savoir si je suis sous IE7 en javascript ou en jquery.
    Or j'ai un problème, je suis sous IE8 et quand j'arrive sur ma page, je suis en "Mode Navigateur: Affichage de compatibilité IE8" et "Mode de document: Nomes IE8"

    J'ai comme doctype
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    Et dans le <head> j'ai bien mis:
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
     <meta http-equiv="X-UA-Compatible" content="IE=edge" />

    Or dans mes fonction javascripts et jquery, ils pensent que je suis sous IE7.

    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if((document.all)&&(navigator.appVersion.indexOf("MSIE 7.")!=-1)){
                        alert("IE7 js");
                    }
     
                    if ($.browser.msie && parseInt($.browser.version, 10) == 7)
                    {
                        alert("IE7 jq");
                    }

    Si je passe en "Mode naviguateur: IE8" je n'ai plus le probleme.
    Mais on ne peut pas demander aux utilisateurs de faire ça

    Que dois-je modifier dans mon html ou quel code javascript utiliser ?

    Merci pour votre aide

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Il y a les commentaires Html conditionnels mais ce n'est pas une solution "Javascript pure" ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <!--[if lt IE 7]>
    <script>var version = "IE6-";</script>
    <![endif]-->
     
    <!--[if IE 7]>
    <script>var version = "IE7";</script>
    <![endif]-->
     
    <!--[if gt IE 7]>
    <script>var version = "IE8+";</script>
    <![endif]-->


    devyan.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    849
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 849
    Points : 295
    Points
    295
    Par défaut
    ça ne m'arrange pas, car c'est à utiliser dans une fonction existante en javascript.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Sinon il te reste les lacunes DOM des navigateurs pour faire ta détection de version.

    (par exemple : window.XDomainRequest qui est spécifique IE et seulement présent à partir de la version 8)

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    849
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 849
    Points : 295
    Points
    295
    Par défaut
    Il faut que je fasse un try / catch ?

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    non un simple test suffit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (XDomainRequest) {
    ...
    }
    C'est sur le même que le classique : if (document.all)

    Pour chaque navigateur il y a des variantes dans les prototypes.
    Un autre exemple : certains navigateurs n'ont pas String.trim()

    devyan.

Discussions similaires

  1. [debugger] détection écriture mémoire
    Par tut dans le forum MFC
    Réponses: 3
    Dernier message: 07/01/2004, 10h17
  2. détection de player
    Par mat10000 dans le forum Flash
    Réponses: 8
    Dernier message: 23/10/2003, 16h36
  3. Détection MySql
    Par gjullien dans le forum Bases de données
    Réponses: 5
    Dernier message: 20/08/2003, 18h15
  4. Détections avec WebBrowser
    Par Wazo_Sportive dans le forum Composants VCL
    Réponses: 4
    Dernier message: 11/08/2002, 19h32
  5. Détection de 2 touches appuyées
    Par cyrose dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/07/2002, 16h25

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