Balise vide dans le DOM ou création à la volée ? [Bonnes pratiques] - HTML/CSS - Programmation
Marsh Posté le 17-09-2013 à 07:14:47
Up !
L'élégance du code n'a pas l'air de passionner les foules
Ou vaut-il mieux que je demande sur blabla ?
Marsh Posté le 17-09-2013 à 11:59:29
Perso, je fais plutôt la 2ème solution : création via JS. En effet, suivant le nb d'éléments qui vont s'enrichir d'un contenu, on peut vite se retrouver avec beaucoup de balises vides s'il y a pleins de cas différents amenant à ajouter tel ou tel contenu (dans des balises différentes).
Du coup, avec la 1ère solution, s'il faut inclure toutes les balises devant s'enrichir, ben tu peux de retrouver à en avoir pas mal ce qui pourrait alourdir le html à envoyer au client. Or, c'est ballot de gaspiller de la bande-passante
Marsh Posté le 17-09-2013 à 12:43:27
Merci pour ta réponse
Et c'est bien ça mon problème, je me retrouve avec un fichier html rempli de balises vides
En même temps, ça ne représente que quelques centaines d'octets, est-ce que ça va vraiment être un problème pour la bande passante ? Comparé à des créations à la volée en JS ?
Je vais essayer un peu les deux pour voir si je repère une différence.
C'est surtout que je pensais que c'était un cas qui arrivait assez souvent et qu'une bonne pratique avait donc émergé. Mais vu le faible ( ) nombre de réponse que cela suscite, ça ne paraît pas être le cas
Marsh Posté le 17-09-2013 à 14:42:02
Ben js, c'est côté client, donc ça bouffe pas de bande-passante. Si tu mets des balises vides, tu bouffes qq centaines d'octets à chaque fois qu'un client te demande la page Si tu as du trafic, ça peut vide chiffrer...
Edit : en général, si y'a moyen de déléguer le taf côté client, on le fait. Le taf côté serveur, c'est quand on peut pas faire autrement (pour des questions d'accès/MAJ en BD, synchronisation, traitements nécessitant des librairies...).
Marsh Posté le 17-09-2013 à 15:49:41
Ha cool, j'avais pas du tout pensé à l'aspect client/serveur du bouzin et de qui faisait le taf, mais ça me parle bien
Après, ma page html ne se charge qu'une fois (tout est géré en Ajax derrière) donc je ne bouffe de la bande passante qu'à ce moment-là. Mais quand même, ça vaut le coup de s'y pencher.
Merci de tes précisions
Marsh Posté le 16-09-2013 à 11:55:26
Question de "bonnes pratiques" :
J'ai pas mal d'éléments dans ma page qui ne vont s'afficher qu'au fur et à mesure qu'ils sont appelés (et être rechargés dynamiquement par Ajax de temps en temps).
Vaut-il mieux les intégrer directement dans le DOM en utilisant des balises identifiées vides (genre : <div id="toto"></div> ) dans le fichier html, et modifier le contenu selon le besoin ?
Ou bien créer ces éléments en JS/JQuery ( genre : $('<div />').appendTo('body'); ) ?
Dans les faits les deux fonctionnent, mais y a-t-il une méthode considérée comme plus élégante que l'autre ?
Message édité par Turkleton le 16-09-2013 à 20:46:22
---------------
If you think it could look good, then I guess it should