Evangun
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
4
21 juil. 2007 à 15:42
>> Ma logique est celle des standards
>>
c'est un leurre. ce fut ( depuis toujours et sur d'autres systèmes aussi ) des excuses bidons pour tenter de contrecarrer un leader, parce que la concurrence ne faisait pas aussi bien
Au secours, ne me dis pas que tu veux jeter le W3C à la poubelle... il y a quelques trucs qu'ils préconisent qui ne sont pas faisables (la séparation des couches javascript/css/html ils peuvent toujours rêver, dès que ça devient complexe on est obligé de moduler) mais dans l'ensemble c'est tout à fait raisonnable il me semble. Et même IE affiche sa volonté de s'y conformer de plus en plus. Le W3C n'est pas un concurrent de IE, j'ose espérer qu'il travaille pour l'intérêt de tous. Enfin, je pense qu'en termes d'ergonomie/adaptabilité/rapidité/etc. IE n'est plus le leader, et copie FF à plusieurs égards.
Mais pour en revenir aux bugs, pour résumer mon opinion là-dessus en une ligne : quand je fais un programme et que je l'essaie, la plupart du temps il marche d'emblée sous Firefox, et sous IE je dois presque toujours bidouiller pour régler des problèmes. Après FF a sans doutes ses torts, mais je ne les vois pas ! mais ça viendra peut-être.
>> je peux te faire une démonstration
ben ( tiré de SelfHtml ) :
ça donne la même chose ( et correct ) avec IE ou FF
( si même font ! car IE et FF, n'ont pas la même par défaut !)
Oui oui sur des exemples simples, tout marche toujours très bien ! Mais là j'ai passé une semaine à me créer un système de drag and drop pour réordonner des éléments d'une liste et c'est là que tout ne marche plus aussi bien.
Si tu as du courage, lis cette explication :
- En gros, chaque élément de la liste est une div, et toutes ces div sont des noeuds frères.
- Les divs sont en position relative, les unes en-dessous des autres.
- Elles sont séparées de 10 px chacune grâce à un margin-top.
- Quand je déplace une div, elle devient en position absolue pour suivre la souris. Mais son noeud lui est toujours présent dans le code, rien n'a changé.
- Donc les autres div d'en-dessous remontent, puisque la div déplacée est passé en absolute, OK ? Parce que la div qui suit la souris n'est plus dans le flux normal.
- Appelons A la div qui précède la div qui suit la souris, B la div déplacée, et C la div qui vient après la div qui est déplacée.
- Si tu imagines bien la situation, tu dois penser que les div A et C se suivent gentiment avec 10px d'écart ?
- Et bien sous IE non, parce que le margin-top de C refuse de s'appliquer, et C est collée à A. Sous FF ça marche très bien.
- Si on met du margin-bottom à la place du margin-top sur les div, à ce moment là le margin-bottom de A s'applique et tout va bien, C est séparée de A par 10px.
Voilà toute l'histoire ! Ouf.
Tiens, un autre truc très simple qui m'a saoûlé et qui me traverse l'esprit : sous IE, le onmouseout d’une div est déclenché quand on passe la
souris sur une balise (ex: ) qui est à l’intérieur de la div. Et pourtant, on est encore dans la div ! enfin bon.
>>on ne peut pas insérer un bloc de html qui contiendrait des balises avec insertTextNode
je ne connais pas insertTextNode... mais ça me semble normal ( Text ) !
par contre :
function ajoutHTM(ou, htm)
{ var tmp = document.createElement("htmlSection");
tmp.innerHTML = htm;
ou.appendChild(tmp);
}
insertTextNode insère du texte seulement oui et c'est normal, mais pourquoi la fonction insertNode() n'existe-t-elle pas ? elle existe dans d'autres langages qui manipulent le XML et nous dispenserait du innerHTML qui a ses inconvénients. Ta solution, oui c'est à peu près ce que j'utilise en ce moment. Enfin, les arbres DOM ne sont pas interprétés de la même façon dans tous les navigateurs, donc je les utilise toujours avec précaution, et j'évite quand je peux. D'ailleurs au passage, j'ai dû utiliser le DOM car IE était trop lent à faire tourner mes boucles et insérer mes innerHTML, tandis que FF était parfaitement fluide (méchant IE, pas bien !)