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 :

erreur sous IE 6


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut erreur sous IE 6
    Bonjour je me suis servi de cette méthodehttp://sixrevisions.com/javascript/j...iques-in-ie-6/ pour savoir quelles lignes posent problème dans mon code et justement avec IE6 j'ai un problème au niveau de la ligne 115 qui correspond à de ce bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(wrg>=200){//wrg>=200 on diminue la taille du menu en mettant mngv=1 
    mngv=1
    document.getElementById('gm2').src='aller.gif'
    return false
    }
    et la ligne 742 qui est la fin de ma balise Je crois que la première erreur entraine la deuxième.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    si on pouvait voir le code de toute la fonction ainsi que le html de "gm2", ça aiderait

    A+

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    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
    function mng(){
     
    var Table_Gauche=document.getElementById('dg1')
     
    //wrg largeur du menu
    var wrg = ((navigator.appName.substring(0,5)=="Micro") ? parseInt(Table_Gauche.currentStyle.width) : parseInt(getComputedStyle(Table_Gauche, null).getPropertyValue('width')));
     
    	if(mngv==1){
     
    	//largeur lorsque le menu gauche est fermé
    	document.getElementById("IdTabBouton").style.width=99+'%';//div3
    	document.getElementById("IdDivIm").style.width=99+'%'//div2
    	document.getElementById("IdTabBouton").style.left="30px";
    	document.getElementById("IdDivIm").style.left="30px";
    	/* cache la scrollbar lorsque le menu est fermé*/
     
     
    	Table_Gauche.style.width =29+'px' //29px correspond à la barre de menu vertical lorsque le menu est fermé
     
    		if(wrg<=39){ //wrg<=39 on augmente la taille du menu en mettant mngv=0 et on relance la fonction mng au bout de 16ms avec mngv=0 
    		mngv=0 
    		document.getElementById('gm2').src='retour.gif'
    		/* cache la scrollbar lorsque le menu est ouvert*/
    		return false// sortie de la fonction
    		}
    	setTimeout("mng()",16) //on relance la fonction mng au bout de 16ms avec mngv=0 
    	}
     
    // mngv==0 quand le menu entier n'est pas ouvert ou déroulé
    	if(mngv==0){
     
     
    	//largeur lorsque le menu gauche est ouvert
    	document.getElementById("IdTabBouton").style.width=84+'%';//div3
    	document.getElementById("IdDivIm").style.width=84+'%';//div1
    	document.getElementById("IdTabBouton").style.left="210px";
    	document.getElementById("IdDivIm").style.left="210px";
     
     
    		// fait apparaître la scrollbar lorsque le menu est ouvert
    		Table_Gauche.style.width= 209+'px'//209px correspond à la place prise par le menu vertical lorsqu'l est ouvert
    		if(wrg>=200){//wrg>=200 on diminue la taille du menu en mettant mngv=1 
    			mngv=1
    			document.getElementById('gm2').src='aller.gif'
    			return false
    		}
    		setTimeout("mng()",16)
     
    	}
    }
    appel de la fonction mng ci-dessus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body style="background-color:#6699CC;"  onLoad="ajax();mng();screenSize();">

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par sebac Voir le message
    appel de la fonction mng ci-dessus
    Je parlais de l'objet "gm2" ...

    A+

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    autant pour moi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id='fleche1'onClick='mng();'><img id='gm2'src='aller.gif' style='margin-left:2px'></div>
    c'est juste une image contenant une flèche qui change de direction autant que le menu rétractable est ouvert ou fermé

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Si c'est un copié/collé, essaye de conserver un espace entre chaque attribut HTML. Le contraire pourrait perturber certains nav ...
    Il en manque 2 sur cette ligne, et en particulier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id='gm2'src='aller.gif'
    A+

  7. #7
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    j'ai bien mit les espaces mais toujours la même erreur sur le et c'est marqué erreur de syntaxe. j'ai rajouté un à la fin sans grand changement

  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Ce n'est pas le "return false" qui cause l'erreur : la syntaxe est correcte (heureusement ) et l'absence du ";" n'est pas bloquante.
    Ca, par contre
    Citation Envoyé par sebac Voir le message
    la ligne 742 qui est la fin de ma balise
    ça serait plutôt le signe d'une accolade (droite) manquante, quelque part en amont dans le script ....

    A+

  9. #9
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    ça m'étonne beaucoup j'ai vérifié toutes les balises et elles ont bien leurs accolades ouvrantes et fermante.

  10. #10
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par sebac Voir le message
    ça m'étonne beaucoup j'ai vérifié toutes les balises et elles ont bien leurs accolades ouvrantes et fermante.
    Les accolades {}, c'est dans le code Javascript

    A+

  11. #11
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    ok et même elles sont toutes fermées dans mon js

  12. #12
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Dans cette fonction oui, mais tu as vérifier dans tout ton JS ?
    Sinon, tu n'as pas Firebug ou autre sous la main ?
    Parce que là, va falloir un débuggage fin, si les lignes indiquées ne correspondent pas effectivement à l'erreur.

    A+

  13. #13
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    je vais vérifier tout le revérifier tout le code pour voir s'il y'a pas d'erreur quelque par ceci dit si c'était un manque d'accolade ça voudrait alors dire que ff et IE7 sont passé au travers puisqu'avec eux aucune erreur n'est signalée.

  14. #14
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par sebac Voir le message
    ça voudrait alors dire que ff et IE7 sont passé au travers puisqu'avec eux aucune erreur n'est signalée.
    Judicieuse remarque

    Mais rien de ce que l'on voit ici ne permet d'identifier l'erreur.
    Le nav te signale bien les erreurs JS d'habitude ?

    EDIT : prend quand même l'habitude de terminer les instruction par un ";" : ça éviterait les ambigüités ...

    A+

  15. #15
    Inactif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 63
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Si c'est un copié/collé, essaye de conserver un espace entre chaque attribut HTML. Le contraire pourrait perturber certains nav ...
    C'est vrai seulement si les éléments sont déclarés en inline au niveau CSS et du coup ils seront tous collés, mais dans un cas contraire en JS, ce n'est pas vrai. Il faut juste que le gars qui code, fasse attention à différencier un node HTML et un node Text dans le Dom s'il le parcours à la main.

  16. #16
    Inactif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 63
    Par défaut
    Citation Envoyé par sebac Voir le message
    je vais vérifier tout le revérifier tout le code pour voir s'il y'a pas d'erreur quelque par ceci dit si c'était un manque d'accolade ça voudrait alors dire que ff et IE7 sont passé au travers puisqu'avec eux aucune erreur n'est signalée.
    Si tu as firebug tu verrais tout de suite les erreurs, firefox n'est pas aussi sale que IE lorsqu'une erreur JS est remontée, FF lui l'indique dans sa console.

    Installe Firebug, c'est le minimum requis pour coder, ensuite tu patches pour IE

  17. #17
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    je l'ai installé pour ff mais qu'est ce que tu veux dire par
    ensuite tu patches pour IE

  18. #18
    Inactif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 63
    Par défaut
    Citation Envoyé par sebac Voir le message
    je l'ai installé pour ff mais qu'est ce que tu veux dire par
    FF et Firebug mon petit, firebuuugggg
    quand je dis tu patches pour IE, c'est d'abord tu fais fonctionner ton truc sous Firefox, et dès que c'est tout ok, tu corriges pour le faire tourner sous IE

  19. #19
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    ok, j'ai donc testé le code avec firebug et j'ai une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://localhost/Nouvelle%20maquette/maquette.php :: ajax :: line 237" data: no]
    et lorsque je vais à la ligne 237 j'ai issue de ma fonction ajax qui va chercher des données dans le fichier Examen.php
    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
    function ajax()
    	{
     
    		var xhr=null;
     
    		if (window.XMLHttpRequest) { 
    			xhr = new XMLHttpRequest();
    		}
    		else if (window.ActiveXObject) 
    		{
    			xhr = new ActiveXObject("Microsoft.XMLHTTP");
    		}
    		//on définit l'appel de la fonction au retour serveur
     
    		xhr.onreadystatechange = function() { 
     
    			if(xhr.readyState == 4 && xhr.status == 200)
    			{
    			//alert(xhr.responseText)
     
    					ajaxExamens(xhr);	
     
     
    			}
     
     
    		};
     
    		//on appelle le fichier php adéquat
    			 xhr.open("GET", "Examens.php", true);
     
    		xhr.send(null);
     
    	}
    je ne comprend pas pourquoi firebug me dit qu'il y'a pas de données alors que je reçois bien mes informations dans la 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    function ajaxExamens(xhr)
    	{
     
    		var docXML= xhr.responseXML;
    		var items = docXML.getElementsByTagName("id")//balise id du xml(id des examens)
     
    		//on fait juste une boucle sur chaque element "id" de chaque examen
    		for (i=0;i<items.length;i++)
    		{
     
    		// création des nouveaux noeuds
    			var nouveauLi = document.createElement('li');
    			var nouveauDiv = document.createElement('div');
    			//var nouveauLabel = document.createTextNode(items.item(i).firstChild.data);
    			var nouveauLabel = document.createTextNode("Examen"+(i+1));
    			nouveauLi.label=items.item(i).firstChild.data;// id examen
     
    			 // lui donne un attribut class appelé cliquable défini dans le css  
    			 nouveauDiv.className="cliquable";
     
    			 //sur clic des div créés appel de la fonction de création des séries
    			 nouveauLi.onclick = function(){ajax1(this.label)};//ie et ff
     
    			// raccord des noeuds
    			nouveauDiv.appendChild(nouveauLabel);
    			nouveauLi.appendChild(nouveauDiv);
    			var insertAvantMoi=document.getElementById('series');
    			var parentUl=insertAvantMoi.parentNode;
    			parentUl.insertBefore(nouveauLi, insertAvantMoi);
     
    		}
    	}
    et voici le php(Examen.php)
    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
    <?php
     
        include_once 'database.php';
            
                    header('Content-Type: text/xml'); 
                    echo "<?xml version=\"1.0\"?>\n";
                    echo "<examen>\n";
     
    // connect to MySQL
    $database = "test";
    $user = "root";
    $password = "titi"; 
    $dbcon = new MyDatabase($hostname, $database, $user, $password);
     
     
                    $rows = array();// tableau de tableau
                     $rows=$dbcon->getStudies();// methode qui me renvoie un tableau de tableau de valeur
                     
                    //On boucle sur le resultat
                    foreach ($rows as $i)
                    {
                            echo "<id>" . $i[0] . "</id>\n";
                            echo "<date>" . $i[3] . "</date>\n";
                            echo "<heure>" . $i[4] . "</heure>\n";
                            echo "<description>" . $i[8] . "</description>\n";
                            //echo "<description>" . $pi . "</description>\n";
                            
                    }
                    echo "</examen>\n";
     
     
    ?>

Discussions similaires

  1. Erreur sous PHP MyAdmin (PMA database?)
    Par Matlight dans le forum Installation
    Réponses: 5
    Dernier message: 28/10/2010, 19h38
  2. Erreur sous firefox et non sous IE...
    Par soad029 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 18/08/2005, 10h39
  3. message d'erreur sous l'utilitaire IBconsole
    Par vbcasimir dans le forum Outils
    Réponses: 6
    Dernier message: 05/01/2005, 12h07
  4. découvrir les erreurs sous Mozilla
    Par rabobsky dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/12/2004, 20h51
  5. Personnaliser un rapport d'erreur sous Windows XP
    Par Neilos dans le forum Windows
    Réponses: 5
    Dernier message: 21/11/2003, 18h13

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