innerHTML ou DOM ? [JS] - HTML/CSS - Programmation
Marsh Posté le 09-04-2008 à 13:42:02
pour bosser depuis plus de 2 ans sur des gros projets (site ou applications ajax) je peux t'affirmer, qu'il n'y a rien de plus rapide que le innerHTML quand on doit généré quantité astronomique de contenu (genre une liste de 800 contacts).
Ensuite si tu dois juste générer 2/3 bricole, tu peux très bien utiliser le dom, ce qui te permettra de rajouter des methodes/Events sur les objets plus facilement.
Marsh Posté le 09-04-2008 à 14:01:37
La plupart des frameworks utilisent DOM pour ce genre de fonctions mais innerHTML est bien plus rapide à voir selon les besoins donc
Marsh Posté le 09-04-2008 à 14:47:15
OK.
Merci à vous deux. Je vais donc (au moins dans un premier temps) rester sur innerHTML.
Je jette aussi un coup d'oeil aux frameworks pour voir s'il y en a d'intéressants...
Marsh Posté le 09-04-2008 à 15:01:37
innerHTML est effectivement vachement plus rapide que DOM. Faut quand même faire gaffe avec l'injection de script (XSS), alors qu'avec DOM pas de problème pour transmettre n'importe quelle chaine à un createTextElement.
J'ai aussi ouïe dire qu'innerHTML sera enfin inclus dans les specs d'HTMLv5, donc à priori ça risque pas de passer en "deprecated" de sitôt.
Marsh Posté le 09-04-2008 à 16:01:46
Et accessoirement dans ton exemple d'innerHTML le HTML est créé n'importe comment, ça va ramer
Marsh Posté le 09-04-2008 à 16:27:03
masklinn a écrit : Et accessoirement dans ton exemple d'innerHTML le HTML est créé n'importe comment, ça va ramer |
ça m'étonne qu'à moitié : je suis loin d'être un expert JS.
Comment devrais-je faire ?
Marsh Posté le 09-04-2008 à 16:32:21
franceso a écrit : ça m'étonne qu'à moitié : je suis loin d'être un expert JS. |
Une liste concaténée avec join:
Code :
|
Ca permettra de créer beaucoup moins de chaînes de caractères, donc de bouffer moins de mémoire et d'aller plus vite.
Marsh Posté le 09-04-2008 à 16:33:52
ReplyMarsh Posté le 09-04-2008 à 16:35:30
gatsu35 a écrit : dans la boucle à chaque fois que tu fais
|
fail
Marsh Posté le 09-04-2008 à 16:39:44
Reply
Marsh Posté le 09-04-2008 à 09:36:26
Salut les progueux !
Je suis en train de bosser sur un petit projet perso dans lequel je voudrais générer automatiquement en JS du contenu HTML de ma page. C'est pas du AJAX ni rien de compliqué, c'est juste une génération automatique de listes et de liens à partir de données qui sont stockées dans un JSON externe.
Au début, j'avais commencé à coder tout ça avec du innerHTML, genre :
Puis j'ai découvert que innerHTML n'était pas standard et qu'il valait mieux utiliser le DOM, alors j'ai tout réécrit comme ça:
Et puis j'ai continué de me renseigner et j'ai trouvé sur le net tout et son contraire : certains disent que innerHTML est plus efficace et mieux supporté en pratique, d'autres disent que la seule manière valide est d'utiliser le DOM qui est un standard.
Finalement que me conseillez-vous ? Y a-t-il selon vous une meilleure manière de procéder ?
merci d'avance
---------------
TriScale innov