Liste des bugs signalés

Bug 20

Ouvert par Saturne le 2008/09/06 09:28
ブラウザ: IE 7.0
オペレーティング·システム: 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 - 2008/09/06 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 - 2008/09/06 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 - 2008/09/06 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 - 2008/09/07 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 - 2010/08/10 02:19
En coursNon valide

Le projet est abandonné.

Ajout d’un message

訪問者
バグ
(À ne changer que si nécessaire.)
添付ファイル(随意) Image, document, ou archive (zip, rar, etc.) permettant d’aide à résoudre le bug.