22-07-2016, 10:30 AM
je suis d accord avec Xenos sur la partie ajax, et de toute façon sur le sujet "prend un truc qui marche déjà, pas un truc qui permet d apprendre"
par contre on ne peut pas conclure sur le code montré qu'il y aura injection html : ce qu'on voit c'est que la page html vu par l'utilisateur reçoit du html produit par l'utilisateur, on ne sait pas si les autres utilisateurs recevront ce code html ou si le serveur contrôle corrige protège le code html (laissons le bénéfice du doute)
après j'aime pas trop le système du .after tel que tu l'as fait :
ton système semble marché car ton ajax est pour le moment rapide : considère un temps de latence forte ou l'utilisateur envoie msg 1 puis msg 2 avant qu'ajax ne réactualise tu auras cela :
utilisateur voit : [anciens messages]
utilisateur saisit msg 1
utilisateur voit : [anciens messages][msg 1]
utilisateur saisit msg 2
utilisateur voit : [anciens messages][msg 2][msg 1]
pour moi tu devrais plutôt avoir pour chaque message une classe "msg" qu'il soit ancien ou nouveau
attention ce n est pas du vrai code mais du concept
par contre on ne peut pas conclure sur le code montré qu'il y aura injection html : ce qu'on voit c'est que la page html vu par l'utilisateur reçoit du html produit par l'utilisateur, on ne sait pas si les autres utilisateurs recevront ce code html ou si le serveur contrôle corrige protège le code html (laissons le bénéfice du doute)
après j'aime pas trop le système du .after tel que tu l'as fait :
ton système semble marché car ton ajax est pour le moment rapide : considère un temps de latence forte ou l'utilisateur envoie msg 1 puis msg 2 avant qu'ajax ne réactualise tu auras cela :
utilisateur voit : [anciens messages]
utilisateur saisit msg 1
utilisateur voit : [anciens messages][msg 1]
utilisateur saisit msg 2
utilisateur voit : [anciens messages][msg 2][msg 1]
pour moi tu devrais plutôt avoir pour chaque message une classe "msg" qu'il soit ancien ou nouveau
<span class="msg">ancien 1</span>
<span class="msg">ancien 2</span>
<span class="msg">ancien 3</span>
$( ".msg" ).last().after( "<span class="msg">nouveau 1</span>");
<span class="msg">ancien 1</span>
<span class="msg">ancien 2</span>
<span class="msg">ancien 3</span>
<span class="msg">nouveau 1</span>
$( ".msg" ).last().after( "<span class="msg">nouveau 2</span>");
<span class="msg">ancien 1</span>
<span class="msg">ancien 2</span>
<span class="msg">ancien 3</span>
<span class="msg">nouveau 1</span>
<span class="msg">nouveau 2</span>
attention ce n est pas du vrai code mais du concept