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 :

Variables : Interprétations IE et FF


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 101
    Points : 68
    Points
    68
    Par défaut Variables : Interprétations IE et FF
    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
     
    var ffocus = window.location.search ;
    var test = 'bifa' ;
     
    if ( ffocus ) {
    		ffocus  = ffocus.substring(1) ;
    		ffocus  = unescape(ffocus) ;
    		ffocus  = ffocus.substring( ffocus.lastIndexOf("=")+1 );
    	}
    if ( ffocus != "" ) {
    	document.getElementById(ffocus).className = 'rubrique_ouverte' ;
    	}
     
     
    document.getElementById(test).className = 'rubrique_ouverte' ;
    Ce code fonctionne avec IE mais pas avec FF.

    Le plus surprenant c'est que lorsque je demande la même oppération "en dur"( document.getElementById(test).className = 'rubrique_ouverte' ; ), ça marche !

    C'est donc au niveau de la variable ffocus qu'il y a un problème ?

    Si quelqu'un a une idée...

  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
    et avec substr au lieu de substring ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 101
    Points : 68
    Points
    68
    Par défaut
    pas de différence avec substr au lieu de substring. Ca se comporte exactement pareil !

  4. #4
    Membre confirmé Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Points : 455
    Points
    455
    Par défaut
    Teste vite fait sur test.html?toto=bifa :
    Code HTML : 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
    <html>
    <head>
    <title>test</title>
    <script type="text/javascript">
    function run(){
            var ffocus = window.location.search ;
            var test = 'bifa' ;
                    
            if(ffocus){
                    ffocus=ffocus.substring(1) ;
                    ffocus=unescape(ffocus) ;
                    ffocus=ffocus.substring(ffocus.lastIndexOf("=")+1);
            }
            if(ffocus!=""){
                    document.getElementById(ffocus).innerHTML='rubrique_ouverte';
            }
    }
    </script>
    </head>
    <body>
    <center>
    <div id="bifa"><a onclick="run();" style="cursor:pointer;">click me</a></div>
    </center>
    </body>
    </html>

    Ca marche donc ton classe name devrait fonctionner..
    Met ton code dans une fonction et appelle la.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 101
    Points : 68
    Points
    68
    Par défaut
    Alors attention,
    si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    document.getElementById(ffocus).innerHTML = 'rubrique_ouverte' ;		
    alert ( document.getElementById(ffocus).innerHTML ) ;
    Le contenu du div dans le navigateur reste le même.

    Mais l'alert renvoi bien la nouvelle valeur de innerHTML !

  6. #6
    Membre confirmé Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Points : 455
    Points
    455
    Par défaut
    C'est le principe du javascript/DOM, tout se change chez toi.
    Donc l'affichage du source, t'affiche la source originelle, que tu reçois lors du 1er chargement de la page.

    Pour ton className, ça devrait fonctionner.

    Tiens nous au courant.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 101
    Points : 68
    Points
    68
    Par défaut
    J'ai compris.


    En fait, je charge précédemment mes div avec cette fonction :

    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
     
     
    function appelHtml(page, cible) {
     
    	ntotal_calques ++ ;
    	if ( window.ActiveXObject ) var XhrObj = new ActiveXObject("Microsoft.XMLHTTP"); // IE
    	else var XhrObj = new XMLHttpRequest(); // FF
     
    	XhrObj.open("GET", page) ;
     
    	XhrObj.onreadystatechange = function() {
    		if ( XhrObj.readyState == 4 && XhrObj.status == 200 ) 	{
    			document.getElementById(cible).innerHTML = XhrObj.responseText  ;
    			ffocus() ;
    			n_calques ++ ;
    		}
    	}
     
    	XhrObj.send(null) ;
     
    }

    En appelant la fonction ffocus dans le onreadystatechange, plus de problème.

    Voir discussion résolue :
    http://www.developpez.net/forums/sho...d.php?t=425174


    Merci de vous être penché sur le sujet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Mauvaise variable interprétée
    Par yanng dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 23/04/2009, 00h57
  2. Réponses: 9
    Dernier message: 27/09/2006, 15h58
  3. variable d'environnement windows non interprétée
    Par rogerio dans le forum Windows
    Réponses: 4
    Dernier message: 02/06/2006, 07h06
  4. Interprétation d'une variable
    Par DouDa2509 dans le forum ASP
    Réponses: 12
    Dernier message: 30/05/2006, 17h13
  5. Variable interprétée et un define
    Par __fabrice dans le forum Langage
    Réponses: 4
    Dernier message: 05/01/2006, 22h55

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