Javascript: parse error :(
Résolu/Fermé
Winterboard
Messages postés
137
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
30 juin 2009
-
10 oct. 2008 à 18:45
Winterboard Messages postés 137 Date d'inscription jeudi 8 mai 2008 Statut Membre Dernière intervention 30 juin 2009 - 18 oct. 2008 à 23:18
Winterboard Messages postés 137 Date d'inscription jeudi 8 mai 2008 Statut Membre Dernière intervention 30 juin 2009 - 18 oct. 2008 à 23:18
A voir également:
- Javascript parse error
- Telecharger javascript - Télécharger - Langages
- Http error 413 zimbra - Forum autres boîtes mail
- Eespt technical error ✓ - Forum TNT / Satellite / Réception
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Fan error lenovo - Forum Refroidissement
17 réponses
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
13 oct. 2008 à 00:25
13 oct. 2008 à 00:25
Quelle est la ligne 25 ? Ton mode de débuggage JavaScript ne donne pas l'instruction qui pose problème ?
Winterboard
Messages postés
137
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
30 juin 2009
13 oct. 2008 à 19:29
13 oct. 2008 à 19:29
l'erreur c'est ca:
SyntaxError: Parse Error (line25)
ligne 25 c'est a dire: var collection1 = ....
SyntaxError: Parse Error (line25)
ligne 25 c'est a dire: var collection1 = ....
Winterboard
Messages postés
137
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
30 juin 2009
14 oct. 2008 à 18:45
14 oct. 2008 à 18:45
salut! merci pour la solution (partielle). Voici mon code propre:
Il y a encore une erreur mais cette fois ca viens d'une balise non terminée. Il manque un }
Je ne sais pas ou le placer :p. Il donne lerreur sur la dernierre ligne c-a-d: addlistener(window...
Merci pour toute votre aide.
function slide() { function addListener(o, e, f) { if (o.addEventListener) { o.addEventListener(e, f, false); } else { o.attachEvent("on" + e, f); } } function changeClass1() { document.getElementById("content").className = "slidedone"; document.getElementById("footer").className = "slidedone"; document.getElementById("list").className = "slidedone"; } function changeClass2() { document.getElementById("content").className = "slidedone2"; document.getElementById("footer").className = "slidedone2"; document.getElementById("list").className = "slidedone2"; } function bindAnchors() { var collection1 = document.getElementById("topmenu").getElementsByTagName("a"); var collection2 = document.getElementById("content").getElementsByTagName("a"); var collection3 = document.getElementById("toprightmenu").getElementsByTagName("a"); var collection4 = document.getElementById("toprightbutton").getElementsByTagName("a"); for (i = 0; i <= collection1.length - 1; ++i) { var lien = collection1.item(i); addListener(lien, "click", changeClass2); } for (i = 0; i <= collection2.length - 1; ++i) { var lien = collection2.item(i); addListener(lien, "click", changeClass1); } for (i = 0; i <= collection3.length - 1; ++i) { var lien = collection3.item(i); addListener(lien, "click", changeClass1); } for (i = 0; i <= collection4.length - 1; ++i) { var lien = collection4.item(i); addListener(lien, "click", changeClass1); } } addListener(window, "load", bindAnchors);
Il y a encore une erreur mais cette fois ca viens d'une balise non terminée. Il manque un }
Je ne sais pas ou le placer :p. Il donne lerreur sur la dernierre ligne c-a-d: addlistener(window...
Merci pour toute votre aide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
11 oct. 2008 à 00:33
11 oct. 2008 à 00:33
Salut,
En général, "parse error" porte bien son nom et indique une erreur de structure du document XML (ou HTML dans ton cas). Donc, il est probable que le document que ce code JavaScript est censé manipuler ne soit pas bien formé (soit un tag est mal fermé, soit un attribut mal formé,...). Tu peux essayer de valider ton fichier HTML sur http://validator.w3.org/ et essayer de trouver le vilain tag en question.
En général, "parse error" porte bien son nom et indique une erreur de structure du document XML (ou HTML dans ton cas). Donc, il est probable que le document que ce code JavaScript est censé manipuler ne soit pas bien formé (soit un tag est mal fermé, soit un attribut mal formé,...). Tu peux essayer de valider ton fichier HTML sur http://validator.w3.org/ et essayer de trouver le vilain tag en question.
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
13 oct. 2008 à 23:08
13 oct. 2008 à 23:08
Merci pour les infos... ben écoute le seul truc que je constate c'est que tu n'as aucun élément ayant pour identifiant "topmenu" dans ta page alors que tu fais un getElementById et qu'ensuite tu demandes des tags sur un élément null...
Bonsoir
Très curieux : quand je fais un copier-coller de ton script vers mon éditeur de texte (pspad), il apparaît effectivement des caractères supplémentaires (code ASCII 0xAD, 173 en décimal) qui provoquent cette erreur.
Tu peux virer complètement les 4 lignes collection1.. collection4 et les remplacer par le texte ci-dessous qui ne contient pas ces caractères bizarres.
Mais ce serait intéressant de savoir d'où ils viennent
Très curieux : quand je fais un copier-coller de ton script vers mon éditeur de texte (pspad), il apparaît effectivement des caractères supplémentaires (code ASCII 0xAD, 173 en décimal) qui provoquent cette erreur.
Tu peux virer complètement les 4 lignes collection1.. collection4 et les remplacer par le texte ci-dessous qui ne contient pas ces caractères bizarres.
Mais ce serait intéressant de savoir d'où ils viennent
var collection1 = document.getElementById('topmenu').getElementsByTagName('a'); var collection2 = document.getElementById('content').getElementsByTagName('a'); var collection3 = document.getElementById('toprightmenu').getElementsByTagName('a'); var collection4 = document.getElementById('toprightbutton').getElementsByTagName('a');
Désolé, je viens de voir qu'en fait ils sont revenus quand j'ai collé dans le forum ! pas au même endroit d'ailleurs
J'essaye sans la balise code
Si ça ne marche toujours pas, retape-les à la main...
var collection1 = document.getElementById('topmenu').getElementsByTagName('a');
var collection2 = document.getElementById('content').getElementsByTagName('a');
var collection3 = document.getElementById('toprightmenu').getElementsByTagName('a');
var collection4 = document.getElementById('toprightbutton').getElementsByTagName('a');
J'essaye sans la balise code
Si ça ne marche toujours pas, retape-les à la main...
var collection1 = document.getElementById('topmenu').getElementsByTagName('a');
var collection2 = document.getElementById('content').getElementsByTagName('a');
var collection3 = document.getElementById('toprightmenu').getElementsByTagName('a');
var collection4 = document.getElementById('toprightbutton').getElementsByTagName('a');
ben si, il y en a encore. Systématiquement en colonne 79 cette fois.
Moralité : pas de copier-coller de lignes de plus de 79 caractères depuis CCC. J'ai l'impression que c'est nouveau.
Moralité : pas de copier-coller de lignes de plus de 79 caractères depuis CCC. J'ai l'impression que c'est nouveau.
Winterboard
Messages postés
137
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
30 juin 2009
10 oct. 2008 à 21:32
10 oct. 2008 à 21:32
alors pour le fichier js c'est:
m.iwebkit.net/slide2.js
pour la page internet c'est m.iwebkit.net
en ce moment je n'utilise pas le fichier mais un autre fichier moins developé donc tu ne peut pas voir l'erreur.
De toute facon ca dit: parse error on line 25
m.iwebkit.net/slide2.js
pour la page internet c'est m.iwebkit.net
en ce moment je n'utilise pas le fichier mais un autre fichier moins developé donc tu ne peut pas voir l'erreur.
De toute facon ca dit: parse error on line 25
Winterboard
Messages postés
137
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
30 juin 2009
12 oct. 2008 à 18:33
12 oct. 2008 à 18:33
mon fichier est du xhtml 1.0 strict valide.
http://validator.w3.org/...
Personne n'a une solution?? :(
http://validator.w3.org/...
Personne n'a une solution?? :(
Winterboard
Messages postés
137
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
30 juin 2009
15 oct. 2008 à 20:37
15 oct. 2008 à 20:37
ok les gars ca marche!!!!!!!!!!!!!!!!
mais que si j'enleve les tags du script qui ne sont pas presents sur la page... comme:
Y a til un moyen de dire au navigateur dignorer ces tag s'ils n'existent pas??
merci :)
mais que si j'enleve les tags du script qui ne sont pas presents sur la page... comme:
var collection4 = document.getElementById("toprightbutton").getElementsByTagName("a");
Y a til un moyen de dire au navigateur dignorer ces tag s'ils n'existent pas??
merci :)
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
16 oct. 2008 à 14:03
16 oct. 2008 à 14:03
Salut, je ne pense pas qu'il existe une instruction globale permettant de détourner l'utilisation correcte du DOM en JS. Si tu ne veux pas supprimer ces instructions tu peux tester
pour n'accéder aux tags "a" que si l'élément n'est pas null.
if(null != document.getElementById("toprightbutton"))
pour n'accéder aux tags "a" que si l'élément n'est pas null.
Winterboard
Messages postés
137
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
30 juin 2009
16 oct. 2008 à 15:36
16 oct. 2008 à 15:36
merci je vais essayer ca!
Winterboard
Messages postés
137
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
30 juin 2009
16 oct. 2008 à 20:08
16 oct. 2008 à 20:08
c'est bon j'ai resolu le probleme:
pour le resultat: http://m.iwebkit.net
allez voir sur safari. ca marchera pas sinon. C'est l'effet de transition ente pages quand on clique sur un lien
merci pour tout les aides!
function addListener(o, e, f) { if (o.addEventListener) { o.addEventListener(e, f, false); } else { o.attachEvent("on" + e, f); } } function changeClass1() { document.getElementById("content").className = "slidedone"; document.getElementById("footer").className = "slidedone"; document.getElementById("list").className = "slidedone"; } function changeClass2() { document.getElementById("content").className = "slidedone2"; document.getElementById("footer").className = "slidedone2"; document.getElementById("list").className = "slidedone2"; } function bindAnchors() { try { var collection1 = document.getElementById("topmenu").getElementsByTagName("a"); for (i = 0; i <= collection1.length - 1; ++i) { var lien = collection1.item(i); addListener(lien, "click", changeClass2); } } catch(e) { }try { var collection2 = document.getElementById("content").getElementsByTagName("a"); for (i = 0; i <= collection2.length - 1; ++i) { var lien = collection2.item(i); addListener(lien, "click", changeClass1); } } catch(e) { }try { var collection3 = document.getElementById("toprightmenu").getElementsByTagName("a"); for (i = 0; i <= collection3.length - 1; ++i) { var lien = collection3.item(i); addListener(lien, "click", changeClass1); } } catch(e) { }try { var collection4 = document.getElementById("toprightbutton").getElementsByTagName("a"); for (i = 0; i <= collection4.length - 1; ++i) { var lien = collection4.item(i); addListener(lien, "click", changeClass1); } } catch(e) { }} addListener(window, "load", bindAnchors);
pour le resultat: http://m.iwebkit.net
allez voir sur safari. ca marchera pas sinon. C'est l'effet de transition ente pages quand on clique sur un lien
merci pour tout les aides!
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
18 oct. 2008 à 22:38
18 oct. 2008 à 22:38
Pour résumer, il a utilisé des blocs "essai/erreur" (try/catch), ainsi si une erreur se produit dans un bloc try, il passe directement au bloc catch associé où il indique au programme de ne rien faire... et il continue son bout de chemin juste après le catch... Je ne dis pas que c'est super propre d'attraper des erreurs si générales et de laisser un bloc catch vide mais bravo ! ;-)
Winterboard
Messages postés
137
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
30 juin 2009
18 oct. 2008 à 23:18
18 oct. 2008 à 23:18
si tu as d'autres proposition plus "propres" pourrais tu me les donner?
meci :)
meci :)