Liste des bugs signalés

Bug 20

Ouvert par Saturne le 06/09/2008 09:28
Navigateur : IE 7.0
Système d’explotation : WinXP
État : Non valide
Domaine : ikilote.net
Adresses

/Listanime.html?act=editer&id=196

Description

Sur appuie du bouton "Éditer". Une erreur javascript survient.

Le javascript plante sous IE7, après analyse celui-ci ne semblait pas avoir de défaut.
Je me suis alors tourné vers le code html. Il manque les balises de fin de ligne sauf pour celle du titre.
Il y a des chances que ça soit ça qui le fasse planter.
[code]
<table style="width:100%">
<tbody>
<tr class="c"><th>Format</th><th>N°</th><th>État</th><th>Vu</th><th>Possédé</th><th style="width:100px">Date</th><th style="width:100px">Action<th></tr>
<tr id="entree_772" title="DVD - 1"><td>DVD</td><td>1</td><td>-</td><td class="c">×</td><td class="c">✔</td><td class="c">--</td><td class="c"><a href="#" onclick="Entree_Editer(772);return false;">Éditer</a> - <a href="#" onclick="Entree_Supprimer(772);return false;">Suppr.</a></td>[g][couleur="red"]</tr>[/couleur][/g]
<tr id="entree_773" title="D - 2"><td>D</td><td>2</td><td>-</td><td class="c">×</td><td class="c">✔</td><td class="c">--</td><td class="c"><a href="#" onclick="Entree_Editer(773);return false;">Éditer</a> - <a href="#" onclick="Entree_Supprimer(773);return false;">Suppr.</a></td>[g][couleur="red"]</tr>[/couleur][/g]
</tbody>
</table>
[/code]

Fonctionne sous FireFox 3.0, il doit être plus permissif là-dessus.

#1
Saturne - 06/09/2008 10:21

Précision, je viens de vérifier une nouvelle fois. Alors sur FF3, les </tr> y sont mais pas sur IE7.
C'est quoi encore ce truc ?????

#2
Zéfling - 06/09/2008 11:28
OuvertEn test

En effet, en XHTML c'est une erreur grave (par contre en HTML non, c'est pas obligatoire). Mais comme le site est en XHTML 1.1 j'ai intérêt à corriger ça. :P

Sur ce genre d'erreur, la majorité des navigateurs sont assez permissif en effet (et corrige le code, notamment Firefox, le code est faux si tu demandes l'intégralité du code, mais si tu demande une partie il va te donner ce que lui voit vraiment). Il semblerait qu'ils ne considèrent pas cela comme une faute grave. De plus c'est affiché correctement. En fait, j'ai l'impression que pour IE il n'y a pas de rapport en l'affichage et le DOM (bref, l'affichage passe, mais le DOM dernière ça doit être le bordel).

J'ai corrigé, à tester.

#3
Saturne - 06/09/2008 11:57
En testRéouvert

Je valide la correction, mais l'erreur javascript reste présente.
Dommage, ce n'était pas pour cette raison.

#4
Zéfling - 07/09/2008 05:01
RéouvertEn cours

Comme pour le [lien="/Bugs/Tracker.html?bug=24"]bug 24[/lien], il s'agit d'un bug de IE qui est en fait incapable de traité le innerHTML. Sauf que j'avoue que pour le 24 je peux arriver à m'en sortir sans trop de problème. Pour celui là... C'est beaucoup, beaucoup plus compliqué vu l'hétérogénéité des éléments à rentrer dans la <tr> de la table (span, select, option, input, etc. à écrire entièrement en DOM de façon dynamique... autant dire que ça va prendre un temps fou) . Je vais probablement être obligé de générer un tableau en <span> ou <div> sinon je ne vais pas m'en sortir.

IE c'est que des emmerdes :P J'espère que ce genre de connerie sera corrigé dans IE8, parce que la reconstruction de DOM via innerHTML est supporté par tous les navigateurs sauf lui. C'est pas ce qu'il y a de mieux techniquement, mais ça permet d'éviter d'avoir à écrire 200 lignes de code là où l'on peut en mettre qu'une seule. ;)

#5
Zéfling - 10/08/2010 02:19
En coursNon valide

Le projet est abandonné.

Ajout d’un message

Visiteur
Bug
(À ne changer que si nécessaire.)
Pièce-jointe (facultative) Image, document, ou archive (zip, rar, etc.) permettant d’aide à résoudre le bug.