Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

trouver l'erreur JS sous Internet Explorer (7)

13 réponses
Avatar
Olivier Masson
Bonjour,

Une erreur m'est annoncée sous IE7 (pas 8) :
Ligne: 3672
Caractère: 4
Code: 0
Message d'erreur: Unspecified error.

Je suis bien avancé avec ces infos. Aucun des scripts ne fait 3672 ligne.
J'ai CompanionJS et DebugBar d'installés mais je ne vois pas comment
trouver la ligne incriminée.
Comment faire ?

Merci.

3 réponses

1 2
Avatar
Olivier Masson
Le 07/05/2011 10:07, Bol a écrit :
Bonjour

Ça reste bien *toujours* à la même ligne.



Regarde surtout le code evalué (eval, event ou setTimeout)
ou appelé (XHR, create DOM script...)




Mais *comment* je regarde quoique ce soit sous IE7 ?
Avatar
SAM
Le 10/05/11 10:37, Olivier Masson a écrit :
Le 07/05/2011 10:07, Bol a écrit :
Bonjour

Ça reste bien *toujours* à la même ligne.



Regarde surtout le code evalué (eval, event ou setTimeout)
ou appelé (XHR, create DOM script...)




Mais *comment* je regarde quoique ce soit sous IE7 ?




Control + U ???
non ?
Bon ... alors ... menu : Affichage / Source

Quoi ? tu vois pas la ligne 31287 ?
Ben ... peut-être ...
c'est du MinusculeMou ... faut pas trop en demander, hein ?

Ne reste plus qu'à copier-coller tous les scripts externes dans le
fichier à erreur.
(ou à compter à la main le nombre de lignes)

--
Stéphane Moriaux avec/with iMac-intel
Avatar
Olivier Masson
Le 04/05/2011 13:14, Olivier Masson a écrit :
Bonjour,

Une erreur m'est annoncée sous IE7 (pas 8) :
Ligne: 3672
Caractère: 4
Code: 0
Message d'erreur: Unspecified error.

Je suis bien avancé avec ces infos. Aucun des scripts ne fait 3672 ligne.
J'ai CompanionJS et DebugBar d'installés mais je ne vois pas comment
trouver la ligne incriminée.
Comment faire ?

Merci.



Bon, j'ai finalement trouvé où cela plantait et, franchement, je ne vous
ai pas dérangé pour rien parce qu'après plusieurs heures (oui, je suis
pas dev :)), j'ai trouvé le problème.

Le n° de ligne ne changeait pas parce que c'est bien le seul script que
je n'ai pas vérifié, car a priori sûr - et finalement a posteriori -.
Et dont j'étais persuadé qu'il était minifié, donc qu'on ne pouvait
avoir un retour sur un ligne 3000 et quelques (ç'aurait été ~ entre
ligne 8 et 13).
Or, il n'était pas minifié.

Cela venait donc de sizzle.js ("css selector engine"), précisément ici :
return elem.getAttribute( "type" );
Mais sizzle n'est en fait pas en cause.

J'ai testé à cet endroit les objets qui passaient.
Rien d'anormal, sauf qu'il y avait pas mal de VML.
Je n'ai pas compris de suite, mais c'est pie.htc (/behavior/ IE pour
émulé certaines propriétés CSS3 comme le box-shadow) qui génère ça.

J'applique ce /behavior/ sur certains éléments. Tout va bien, sauf sur
le formulaire - pourquoi ici ? Ça, c'est une autre question -, y compris
les éléments du formulaire.
A ce moment, pie.htc ne renvoie pas une valeur d'attribut 'type'
convenable. Ce qui est très curieux puisque cela signifie qu'il ne
renvoie même pas la valeur NULL (qui ressort même dans un form, comme
par exemple pour un <label>).

Donc, au final, je n'applique pas pie.htc sur IE<8 sur le formulaire et
ça fonctionne.

La faute à IE, bien sûr, et donc un peu à pie.htc qui doit oublier
quelque chose à un moment.

Bon, voilà. Ah oui, au passage, impossible de faire fonctionner firebug
lite, même la 1.2, même en local, même en bookmarklet. Ah ! Quel bonheur
ce IE !

Merci vos conseils.
1 2