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 :

Fonctionne sous IE7, mais pas sous IE8 -> Pourquoi ?


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Fonctionne sous IE7, mais pas sous IE8 -> Pourquoi ?
    Bonjour,

    J'ai un script de tracking adsense qui permet de reprérer les IFRAME et ensuite d'y détecter des portions de codes. Ce script fonctionne très bien sous IE7, mais pas du tout sous IE8. Et je ne sais pas pourquoi !

    Voici mon code :

    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
    function adsense_init() {
     if (document.all) {  //ie
       var el = document.getElementsByTagName('iframe');
    var elem=null; // temporaire
    var i=0;
    var il=el.length;
    for(i=0;i<il;i++)
    {
    elem=el[i];
     
         if (
    	 (elem.src.indexOf('googlesyndication.com') > -1) ||
    	 (elem.src.indexOf('googleadservices') > -1) ||
    	 (elem.src.indexOf('doubleclick.net') > -1)
    	 ) {
    		 document.write('IE8 OK');
           elem.onfocus = trackAdsense;
         } // fin du if
       } // fin de la boucle for
     
     } else {   // firefox   // fin du if document.all
              window.addEventListener('beforeunload', doPageExit, false);
              window.addEventListener('mousemove', getMouse, true);   
             }      
    }
    Je vous remercie par avance de l'aide que vous voudrez bien m'apporter !

  2. #2
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par winnies_ird Voir le message
    Ce script fonctionne très bien sous IE7, mais pas du tout sous IE8. Et je ne sais pas pourquoi !
    Quel est le problème rencontré ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 7
    Points : 5
    Points
    5
    Par défaut TEST
    Bonjour,

    Et bien en fait, lorsque j'utilise IE7 et que j'ai des pub adsense sur la page de mon script, il fait bien la detection :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (elem.src.indexOf('doubleclick.net') > -1
    Et donc il m'affiche bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "IE8 OK" grâce à la ligne : document.write('IE8 OK');
    Par contre, lorsque j'utilise IE8, dans les même condition, il ne m'affiche pas "IE8 OK", mais je ne sais pas pourquoi !

    Est-ce la condition qui pose problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (elem.src.indexOf('doubleclick.net') > -1
    Est-ce l'element qui ne va pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var el = document.getElementsByTagName('iframe');
    Je n'arrive pas à connaitre le problème !

    Auriez-vous la réponse ou pouvez-vous me proposer de faire un levé de doute en affichant le contenu de EL (mais je ne sais pas faire car c'est un tableau).

    Je vous en remercie par avance.

  4. #4
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par winnies_ird Voir le message
    Et donc il m'affiche bien :

    "IE8 OK" grâce à la ligne : document.write('IE8 OK');
    Avant toute chose, ça ne me parait pas judicieux de tester de cette manière, déjà parce que c'est toujours* une mauvaise idée d'utiliser cette vieille instruction dangereuse et peu fiable (document.write ), mais aussi parce que tu introduis d'autres causes possibles de différence de comportement... j'aurais plutot mis un alert ^^ mais bon bref ce n'est pas directement l'objet de ta question...

    Citation Envoyé par winnies_ird Voir le message
    Par contre, lorsque j'utilise IE8, ...
    ... j'ai des outils de développement à ma disposition qui permettraient de résoudre ce problème plus facilement que sous les vieilles versions d'IE Il y a un débuggeur intégré dans le 8 pour suivre l'exécution de ce bout de code et connaître précisément le contenu des variables, etc. ^^ débugger, quoi

    Citation Envoyé par winnies_ird Voir le message
    Auriez-vous la réponse ou pouvez-vous me proposer de faire un levé de doute en affichant le contenu de EL (mais je ne sais pas faire car c'est un tableau).
    suffit amplement pour des tableaux de taille "raisonnable" car alert attend une chaine et va invoquer automatiquement toString sur le tableau pour afficher son contenu. Pour des contenus très volumineux ou des tableaux imbriqués, il vaut mieux s'écrire une petite version perso de toString et l'invoquer avant affichage dans l'alert ^^

    * par honnêteté, il faudrait dire "presque toujours", mais c'est tellement rare... on ne va pas refaire ce vieux dossier

Discussions similaires

  1. window.location fonctionne sous IE7 mais pas sous Firefox
    Par nicoaix dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/02/2009, 10h33
  2. Script marche sous IE7 mais pas sous FF
    Par raffa dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/10/2008, 11h54
  3. [Div]Positionnement correct sous IE7 mais pas sous Firefox
    Par Janitrix dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 03/05/2007, 10h16
  4. popup fonctionne sous Mozilla mais pas sous IE
    Par pimpmyride dans le forum Langage
    Réponses: 3
    Dernier message: 30/05/2006, 21h45
  5. [JMF] Code fonctionnant sous Linux mais pas sous XP
    Par Monsieur_Max dans le forum Multimédia
    Réponses: 4
    Dernier message: 25/05/2006, 18h57

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