Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5171 connectés 

 


Dernière réponse
Sujet : CHAT cherche une solution pour éviter rafraîchissement visuel
zion

tilateur a écrit a écrit :

dhtml




 
 :heink:  
 
Ca c'est de la réponse utile, il fait quoi la a ton avis? Du VB  :??:  
 
Bon, si tu as un peu de courage, tu devrais proposer ton chat en 2 versions, celle que tu as qui rame probablement fort, ou une version plus sympa pour le serveur.
 
Le principe est simple, si ton serveur fait pas de cache ou de compression (mod_gzip, etc, etc), tu peux envoyer la page du chat au fur et à mesure, du genre
 
<?
 while (!Terminated()) //Y a une fonction pour savoir qu'il a canceller, a toi de la retrouver
 {
   $st = GetNewLine(); //Fonction qui te file la nouvelle ligne a afficher et qui attends si y en a pas  
   echo("<br />".$st);
   flush();
 }
?>
 
Non seulement il refresh plus, mais en plus il voit la ligne arriver directement.
 
Si c'est pas magnifique ca  ;)  
 
Sinon pour ton problème, y a moyen de scroller la fenêtre en Javascript, je sais plus comment mais c'est possible, donc tu peux résoudre le truc comme ca déjà.
 
 :hello:


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
zion

tilateur a écrit a écrit :

dhtml




 
 :heink:  
 
Ca c'est de la réponse utile, il fait quoi la a ton avis? Du VB  :??:  
 
Bon, si tu as un peu de courage, tu devrais proposer ton chat en 2 versions, celle que tu as qui rame probablement fort, ou une version plus sympa pour le serveur.
 
Le principe est simple, si ton serveur fait pas de cache ou de compression (mod_gzip, etc, etc), tu peux envoyer la page du chat au fur et à mesure, du genre
 
<?
 while (!Terminated()) //Y a une fonction pour savoir qu'il a canceller, a toi de la retrouver
 {
   $st = GetNewLine(); //Fonction qui te file la nouvelle ligne a afficher et qui attends si y en a pas  
   echo("<br />".$st);
   flush();
 }
?>
 
Non seulement il refresh plus, mais en plus il voit la ligne arriver directement.
 
Si c'est pas magnifique ca  ;)  
 
Sinon pour ton problème, y a moyen de scroller la fenêtre en Javascript, je sais plus comment mais c'est possible, donc tu peux résoudre le truc comme ca déjà.
 
 :hello:

tilateur dhtml
shinji up SVP ???
Vous voulez des précisions ? un bout de code pour mieux comprendre ?
shinji Voilà, je fais un chat en ASP (pareil en PHP) et pour ne pas que l'utilisateur voit la page se rafraîchir, je passe par du javascript.
Voilà le principe, j'ai sur mon chat 4 frames:
-une pour les personnes connectes (on s'en fou)
-une pour écrire un message (elle se contente de l'écrire dans la BDD, on s'en fou)
-une frame invisible. Cette dernière se rafraichie toutes les 5 sec. Elle vérifie si de nouveaux messages ont été ajoutés dans la BDD et dans ce cas, le message est envoyé via javascript à la 4ème frame qui affiche le message.
Cette technique (qui m'est inspirée de Mara's dad ;)) marche très bien.  
Le prob que j'ai est au niveau de la mise en page.
Comme les messages sont ajoutés comme ceci:
 
window.parent.frames["messages"].document.write("coucou" )
 
les messages sont affichés à la suite dans la frame. C pas terrible niveau présentation, au niveau de l'alignement et l'ascenseur ne redescent pas à chaque message lorsque la frame est plus grande que l'écran. J'aimerais bien d'ailleurs afficher les messages de bas en haut.  
Mara's dad utilise un tableau qu'il fournit en paramètre à travers une fonction javascript et ensuite il peut modifier le contenu avec les méthodes innerHTML ou outerHTML mais ça ne marche pas avec Netscape 4.79 :(
 
Auriez vous une autre idée ?
 
Apparement sur www.phpheaven.com/chat ils ont trouvés une solution mais je ne vois pas comment ils ont fait ?
 
Un coup de pouce SVP ?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)