Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

problème de rafraîchissement

0 views
Skip to first unread message

docanski

unread,
Mar 24, 2013, 4:40:35 PM3/24/13
to
Bonjour les anciens du code ;-)

J'ai un problème que je n'arrive pas à résoudre avec un script de
rafraîchissement de la fenêtre d'un chat dont voici le code complet, y
compris celui de la page php :

<html>
<meta http-equiv="refresh" content="6">
<head>
<title>chat</title>
<link href=style.css rel=stylesheet type=text/css>
<script language=javascript>
<!--
var lapagemagique4=6;
var lapagemagique5=" - "+document.title;
function lapagemagique6() {
if (lapagemagique4>=0)
lapagemagique4=lapagemagique4 - 1
var timeout=setTimeout("lapagemagique6()", 1000)
document.title=lapagemagique4+lapagemagique5
}
lapagemagique6()
//-->
</script>
</head>
<body>
<?php include("chat.txt"); ?>
</body>
</html>

Le problème est simple dans son énoncé ... mais apparemment pas dans sa
solution : chaque fois qu'un nouveau message est envoyé par un
intervenant, la page se rafraîchit, évidemment, mais remonte tout au
début de la séance et ne met donc pas le focus sur les dernières lignes
comprenant ce nouveau message.
Quelqu'un peut me dépanner sur ce coup ? Merci d'avance.

Cordialement,
--
docanski

Portail et annuaire du nord-Bretagne : http://armorance.free.fr/
Guide des champignons d'Europe : http://mycorance.free.fr/
La vallée de la Rance maritime : http://valderance.free.fr/
Les côtes du nord de la Bretagne : http://docarmor.free.fr/
Message has been deleted

Olivier Miakinen

unread,
Mar 25, 2013, 7:43:37 AM3/25/13
to
Le 25/03/2013 10:29, yamo' rᅵpondait ᅵ docanski :
>
>> mais remonte tout au
>> dï¿œbut de la sï¿œance et ne met donc pas le focus sur les derniï¿œres lignes
>> comprenant ce nouveau message.
>
> Et en mettant tout bï¿œtement une ancre? Et en appelant dans le refresh
> mapage.php#monancre

ï¿œa marchera certainement. Cela dit, je ne sais pas ce qu'en pensera
docanski, mais moi je trouve que du point de vue de l'utilisateur ce
n'est peut-ï¿œtre pas gï¿œnial... Je n'ai pas l'habitude des tchats, mais
pour une page web normale ᅵ laquelle j'ai accᅵdᅵ sans ancre, j'aime
bien revenir au dï¿œbut de la page quand je la rafraï¿œchis moi-mï¿œme.

Du coup, un code Javascript serait peut-ï¿œtre prï¿œfï¿œrable (mï¿œme si je
prï¿œcise que je ne sais pas le faire).

P.-S. : docanski, l'ï¿œlï¿œment script n'a plus d'attribut language,
et tu devrais remplacer :
<script language=javascript>
par :
<script type="text/javascript">

Cordialement,
--
Olivier Miakinen

docanski

unread,
Mar 25, 2013, 9:27:23 AM3/25/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, Olivier Miakinen ecrit ce qui suit en ce 25/03/2013 12:43 :

>> Et en mettant tout bï¿œtement une ancre? Et en appelant dans le refresh
>> mapage.php#monancre
>
> ï¿œa marchera certainement.
> P.-S. : docanski, l'ï¿œlï¿œment script n'a plus d'attribut language,
> et tu devrais remplacer :
> <script language=javascript>
> par :
> <script type="text/javascript">

Attention : ce n'est pas la page qui se rafraï¿œchit et donc pas son
"ascenseur" mais celui de la fenï¿œtre du chat qui contient son propre
"scrollbar" et c'est celui-ci que je chercher ᅵ rᅵgler pour qu'il ne
remonte pas au dᅵbut des messages ᅵ chaque "refresh".
Olivier : oui, tu as raison, je n'avais pas fait attention en dï¿œterrant
ce vieux script.

Cordialement,
--
docanski

Portail et annuaire du nord-Bretagne : http://armorance.free.fr/
Guide des champignons d'Europe : http://mycorance.free.fr/
La vallï¿œe de la Rance maritime : http://valderance.free.fr/
Les cï¿œtes du nord de la Bretagne : http://docarmor.free.fr/

SAM

unread,
Mar 25, 2013, 2:02:06 PM3/25/13
to
Le 25/03/13 14:27, docanski a �crit :
> Alors que les eleveurs et agriculteurs empoisonnent toujours la
> Bretagne, Olivier Miakinen ecrit ce qui suit en ce 25/03/2013 12:43 :
>
>>> Et en mettant tout b�tement une ancre? Et en appelant dans le refresh
>>> mapage.php#monancre
>>
>> �a marchera certainement.
>> P.-S. : docanski, l'�l�ment script n'a plus d'attribut language,
>> et tu devrais remplacer :
>> <script language=javascript>
>> par :
>> <script type="text/javascript">
>
> Attention : ce n'est pas la page qui se rafra�chit et donc pas son
> "ascenseur" mais celui de la fen�tre du chat qui contient son propre
> "scrollbar"

J'a rien compris !

J'ai vu du code :

<html>
<meta http-equiv="refresh" content="6">
<head>
<title>chat</title>
<link href=style.css rel=stylesheet type=text/css>
<script language=javascript>


c'est celui de la page ou celui du chat ?

Si c'est celui de la page c'est bien l� qu'il y a :
- le rafraichissement (meta reftresh toutes les 6 s) de la page donc
- le javascript languag�

Si c'est celui du chat
he ben ... que change-ce ?

> et c'est celui-ci que je chercher � r�gler pour qu'il ne
> remonte pas au d�but des messages � chaque "refresh".

tu n'as qu'� mettre les messages rang�s dans l'autre sens,
et hop!

il faut refaire le tchat en JS (ou en PHP) de mani�re � ce qu'il n'y ait
que 3 ou 4 (disons 6) �changes
et ... re-hop!

L'id�e de l'ancre, � mon sens, n'est pas mauvaise.
Les �changes sont tous positionn�s avant un truc-machin qui a une ancre
(ou un ID) comme #footer ou #pied-de-page, par exemple.
Et on refresh/rafraichit sur cet exemple.

> Olivier : oui, tu as raison, je n'avais pas fait attention en d�terrant
> ce vieux script.

Rhalala !

Un bidule qui arrive � mettre -1 dans le titre de la page (et fen�tre)
Ha! Non ! si le html et le JS arrivent � s'accorder le -1 ne se verra
pas, la page aura relaod�.

> Cordialement,

itou
--
St�phane Moriaux avec/with iMac-intel 27" & Mac OS X 10.6.8

docanski

unread,
Mar 25, 2013, 2:57:30 PM3/25/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, SAM ecrit ce qui suit en ce 25/03/2013 19:02 :


> <html>
> <meta http-equiv="refresh" content="6">
> <head>
> <title>chat</title>
> <link href=style.css rel=stylesheet type=text/css>
> <script language=javascript>
>
> c'est celui de la page ou celui du chat ?

C'est le code complet de la page contenant le chat, le "chat.txt"
comportant les messages dᅵjᅵ publiᅵs

> Si c'est celui du chat
> he ben ... que change-ce ?

Dans le cas de la page, rien.
Dans la fenï¿œtre du chat, lorsque je place un "overflow", le
rafraï¿œchissement provoque automatiquement la remontï¿œe du "scrollbar",
alors que les derniers messages se trouvent au bas de la fenï¿œtre.
Rï¿œsultat : il faut chaque fois activer l'ascenseur pour remonter les
derniers messages afin qu'ils soient affichï¿œs.

> tu n'as qu'ᅵ mettre les messages rangᅵs dans l'autre sens,
> et hop!

Lᅵ, je ne vois pas trop comment. Une suggestion ?

> il faut refaire le tchat en JS (ou en PHP) de maniᅵre ᅵ ce qu'il n'y ait
> que 3 ou 4 (disons 6) ï¿œchanges
> et ... re-hop!

Trop peu. La fenï¿œtre de chat affiche environ 40 messages mais le
chat.txt en contient un maximum de 200 (choix arbitraire) et ces 200
sont donc tous lisibles dans cette fenᅵtre, ᅵ condition d'actionner
l'ascenceur. Ces messages sont actuellement placï¿œs dans un ordre
descendant, le plus ancien au dessus, le plus rï¿œcent en dessous.

> L'idᅵe de l'ancre, ᅵ mon sens, n'est pas mauvaise.

Sauf que le scroll e se fait pas dans la page mais dans la fenï¿œtre.

> itou

Rebelote,

docanski

unread,
Mar 25, 2013, 3:01:43 PM3/25/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, docanski ecrit ce qui suit en ce 25/03/2013 19:57 :

> C'est le code complet de la page contenant le chat, le "chat.txt"
> comportant les messages dᅵjᅵ publiᅵs

Enfin ... pas vraiment : ce code est appelᅵ par la page contenant la
fenï¿œtre de chat.

SAM

unread,
Mar 25, 2013, 8:57:52 PM3/25/13
to
Le 25/03/13 19:57, docanski a �crit :
> Alors que les eleveurs et agriculteurs empoisonnent toujours la
> Bretagne, SAM ecrit ce qui suit en ce 25/03/2013 19:02 :
>
>
>> <html>
>> <meta http-equiv="refresh" content="6">
>> <head>
>> <title>chat</title>
>> <link href=style.css rel=stylesheet type=text/css>
>> <script language=javascript>
>>
>> c'est celui de la page ou celui du chat ?
>
> C'est le code complet de la page contenant le chat, le "chat.txt"
> comportant les messages d�j� publi�s
>
>> Si c'est celui du chat
>> he ben ... que change-ce ?
>
> Dans le cas de la page, rien.
> Dans la fen�tre du chat, lorsque je place un "overflow", le
> rafra�chissement provoque automatiquement la remont�e du "scrollbar",
> alors que les derniers messages se trouvent au bas de la fen�tre.
> R�sultat : il faut chaque fois activer l'ascenseur pour remonter les
> derniers messages afin qu'ils soient affich�s.
>
>> tu n'as qu'� mettre les messages rang�s dans l'autre sens,
>> et hop!
>
> L�, je ne vois pas trop comment. Une suggestion ?

var txt = document.getElementById('monTchat'),
mesg = txt.innerHTML.split(/[\r\n]/),
n = mesg.length;
txt.innerHTML = '';
while (n--) txt.innerHTML += mesg[n] + \n;


>> il faut refaire le tchat en JS (ou en PHP) de mani�re � ce qu'il n'y ait
>> que 3 ou 4 (disons 6) �changes
>> et ... re-hop!
>
> Trop peu.

????
me semble bien que non
que �a doit bien suffire � la comprenette de l'�change
m�bon ...

... perso, j'ai horreur des tchats,
je ne supporte pas �a !
horripile
boutons
toussa

> La fen�tre de chat affiche environ 40 messages

???
comment peux-tu assurer �a ?
Les gensses tournent leurs �crans verticalement ?
En + d'�tre �nervant y a m�me pas un peu d'air entre les "messages" ?

> mais le chat.txt en contient un maximum de 200 (choix arbitraire) et ces 200
> sont donc tous lisibles dans cette fen�tre, � condition d'actionner
> l'ascenceur. Ces messages sont actuellement plac�s dans un ordre
> descendant, le plus ancien au dessus, le plus r�cent en dessous.
>
>> L'id�e de l'ancre, � mon sens, n'est pas mauvaise.
>
> Sauf que le scroll e se fait pas dans la page mais dans la fen�tre.


consid�rons que la "fen�tre" n'est qu'un "calque" (un div ?)
et t'alors ?
y a vraiment pas moyen de coller une ancre l� en bas du txt ?

Je n'ai pas re-essay� (et certainement pas avec IE) mais ... je crois
bien que �a fonctionne.


Sinon, un truc en JS ?

onload = function() {
var leTchat = document.getElementById('monTchat');
leTchat.style.marginTop = leTchat.parentNode.offsetHeight -
leTchat.offsetHeight + 'px';
}


<http://www.quirksmode.org/dom/w3c_cssom.html#elementview>

SAM

unread,
Mar 25, 2013, 9:16:37 PM3/25/13
to
Le 26/03/13 01:57, SAM a �crit :
>
> var txt = document.getElementById('monTchat'),
> mesg = txt.innerHTML.split(/[\r\n]/),
> n = mesg.length;
> txt.innerHTML = '';
> while (n--) txt.innerHTML += mesg[n] + \n;

while (n--) txt.innerHTML += mesg[n] + '\n';

bien �videmment !

docanski

unread,
Mar 26, 2013, 6:06:43 AM3/26/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, SAM ecrit ce qui suit en ce 26/03/2013 01:57 :

>> Trop peu.
>
> ????
> me semble bien que non
> que ᅵa doit bien suffire ᅵ la comprenette de l'ᅵchange
> mï¿œbon ...

Les arrivants doivent pouvoir voir les messages prï¿œcï¿œdents afin de
pouvoir intervenir dans les discussions en connaissance de cause. Ainsi,
il faut parfois pouvoir remonter ᅵ 2 heures voire plus, selon la
frï¿œquentation du jour.

>> La fenï¿œtre de chat affiche environ 40 messages
> comment peux-tu assurer ï¿œa ?
> Les gensses tournent leurs ï¿œcrans verticalement ?

Naaan. Les messages sont stockï¿œs provisoirement dans un chat.txt ce
fichier remplace en fait une BdD.
Pour plus de clartᅵ quant ᅵ l'affichage, voici le code de la page :

<html>
<head>
<title>chat</title>
<link href=style.css rel=stylesheet type=text/css>
<script language=JavaScript1.2>
function smiley(remplacer) {
document.send.msg.value=document.send.msg.value + remplacer
}
</script>
</head>
<body topmargin=5 style="background-color:1e1385">
<center>
<div style="border:2px solid gold;width:754px">
<img src=images/haut.png align=top>
<table width=750 cellpadding=0 cellspacing=0 color=white class="tableaux">
<tr><td><iframe id=messages width=750 height=657 frameborder=0
align=absmiddle scrolling=no src=rafraichir.php></iframe>
<form name=send method=post action=messages.php>
<input type=hidden name=name value="">
<input type=text name=msg size=105 class=pseudo maxlength=180>
<div style="text-align:center"><input type=submit value=envoyer
class=boutons></div>
<script language=javascript>document.send.msg.focus();</script>
</td></tr></table>
<img src=images/bas.png align=top>
</form>
</div>
</body>
</html>

Ne hurle pas, c'est du code pas trᅵs propre et pas ᅵpurᅵ datant de plus
de 10 ans et que je devais remettre ᅵ jour pour mon site d'aide ᅵ la
crᅵation. C'est tombᅵ ᅵ l'eau, j'ai abandonnᅵ car on ne voit plus que
des blogs maintenant.

> considï¿œrons que la "fenï¿œtre" n'est qu'un "calque" (un div ?)

Comme tu vois, c'est un iframe.
Le dernier message est toujours situᅵ en bas.

> y a vraiment pas moyen de coller une ancre lᅵ en bas du txt ?

Je ne vois pas comment vu que les messages sont stockï¿œs dans un fichier txt.
Et puis je dois avouer que je n'ai plus piochᅵ depuis longtemps dans le
code, la mï¿œmoire n'y est plus, je n'ai plus de repï¿œres. L'ï¿œge, quoi :-(
Ici, c'est pour faire plaisir ᅵ une bande de copains que j'ai dᅵterrᅵ
ces vieilles pages que j'ai mises bout ᅵ bout pour bricoler un chat vite
fait ... plus ou moins mal fait.

Cordialement,

SAM

unread,
Mar 26, 2013, 7:46:41 AM3/26/13
to
Le 26/03/13 11:06, docanski a �crit :
> Alors que les eleveurs et agriculteurs empoisonnent toujours la
> Bretagne, SAM ecrit ce qui suit en ce 26/03/2013 01:57 :
>
>>> Trop peu.
>>
>> ????
>> me semble bien que non
>> que �a doit bien suffire � la comprenette de l'�change
>> m�bon ...
>
> Les arrivants doivent pouvoir voir les messages pr�c�dents afin de
> pouvoir intervenir dans les discussions en connaissance de cause. Ainsi,
> il faut parfois pouvoir remonter � 2 heures voire plus, selon la
> fr�quentation du jour.

est-ce que c'est encore un Tchat ?
N'est-ce pas presqu'un forum ?

>>> La fen�tre de chat affiche environ 40 messages
>> comment peux-tu assurer �a ?
>> Les gensses tournent leurs �crans verticalement ?
>
> Naaan. Les messages sont stock�s provisoirement dans un chat.txt ce
> fichier remplace en fait une BdD.

J'esp�re que ton site n'est pas chez Free !?
cette m�thode y est interdite !

> Pour plus de clart� quant � l'affichage, voici le code de la page :

Ha? ce n'est plus celui donn� pr�c�demment ?

J'y vois une iframe de 657px de haut
dont j'ignore ce qu'elle contient ...
(dans un tableau ... pourquoi un table ? mafou�e)
... en tous cas rien qui puisse assurer que �a contiendra les 16 messages

Suivi de ce qu'il semble �tre le truc pour communiquer ses pens�es (un form)

> Ne hurle pas,

HHHhhhAAAaarrrrggg !
Ouf! �a fait du bien.

> c'est du code pas tr�s propre

c'est rien d'le dire

> et pas �pur� datant de plus de 10 ans

ce qu'on pouvait bricoler tt de m�me au si�cle dernier !

> Comme tu vois, c'est un iframe.

Youpi! J'avais bon !

> Le dernier message est toujours situ� en bas.
>
>> y a vraiment pas moyen de coller une ancre l� en bas du txt ?
>
> Je ne vois pas comment vu que les messages sont stock�s dans un fichier
> txt.

J'a rien compris l� !
J'ai vu :
<iframe src=rafraichir.php
c'est donc un fichier php, non ?
ce fichier lit/int�gre le fichier txt (auquel il a pr�alablement ajout�
le dernier message, sauf � ce que ce fut fait par le form, par le
fichier "messages.php")
mis sans doute dans un <pre></pre>
Il doit suffire d'ajouter ensuite l'ancre
echo "<a name='celepied'></a>";

> Et puis je dois avouer que je n'ai plus pioch� depuis longtemps dans le
> code, la m�moire n'y est plus, je n'ai plus de rep�res. L'�ge, quoi :-(

Tant que �a ?

> Ici, c'est pour faire plaisir � une bande de copains que j'ai d�terr�
> ces vieilles pages que j'ai mises bout � bout pour bricoler un chat vite
> fait ... plus ou moins mal fait.

Je te mail un truc � sans iframe, lui � rang� en ordre inverse
(aussi � l'abandon depuis le si�cle dernier)


--
St�phane Moriaux avec/with iMac-intel 27" & Mac OS X 10.6.8

SAM

unread,
Mar 26, 2013, 7:50:15 AM3/26/13
to
Le 26/03/13 12:46, SAM a �crit :
> Je te mail un truc

Ben ... non :-(

le Doc Hanski n'est pas connu de mobistar


--
St�phane Moriaux avec/with iMac-intel 27" & Mac OS X 10.6.8

docanski

unread,
Mar 26, 2013, 9:54:42 AM3/26/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, SAM ecrit ce qui suit en ce 26/03/2013 12:46 :

> est-ce que c'est encore un Tchat ?
> N'est-ce pas presqu'un forum ?

Ben non puisque les échanges sont en direct et se suivent donc
naturellement.
J'ai le forum ... mais les membres voulaient un chat. Dès lors ...

> J'espère que ton site n'est pas chez Free !?

Heu ... si.

> cette méthode y est interdite !

Pourquoi ? J'y ai déjà 2 BdD sur 2 sites différents (pour mes forums) et
je ne suis pas vraiment chaud pour ajouter une table pour le chat,
crainte de déconner.

> Ha? ce n'est plus celui donné précédemment ?

Ici, c'est la page d'affichage du chat.

> J'y vois une iframe de 657px de haut
> dont j'ignore ce qu'elle contient ...

la fenêtre contenant les messages des membres

> (dans un tableau ... pourquoi un table ? mafouée)

Je t'ai dit : c'est du vieux code que je n'ai pas corrigé. En attendant
d'avoir le courage de tout réécrire.

> ... en tous cas rien qui puisse assurer que ça contiendra les 16 messages

Il peut en contenir 43, pour le moment.

> J'a rien compris là !
> J'ai vu :
> <iframe src=rafraichir.php
> c'est donc un fichier php, non ?

Voui, auquel il est fait appel pour rafraîchir la page principale ici
présente. C'est celle dont j'ai reproduis le code dans mon 1er message.

> Il doit suffire d'ajouter ensuite l'ancre
> echo "<a name='celepied'></a>";

mouais ... "suffit" ... c'est pas si simple car avec mon code crade un
peu amélioré aux CSS et un JS qui m'est devenu étranger (je te l'avais
déjà dit il y a quelques années ;-) ), j'ai du mal à rassembler mes jeunes.

> Tant que ça ?

Bon, soit, d'acord, c'est pas seulement l'âge. :-)

> Je te mail un truc — sans iframe, lui — rangé en ordre inverse
> (aussi à l'abandon depuis le siècle dernier)

Attends, car comme tu n'as pas la totalité des pages, ça risque de
fourtre un peu plus le bordel si je bricole avec des bouts de code que
tu écris sans avoir l'ensemble des scripts sous les yeux. Si tu veux, je
t'envoie en privé l'adresse de ce chat ... privé.

--
docanski

Portail et annuaire du nord-Bretagne : http://armorance.free.fr/
Guide des champignons d'Europe : http://mycorance.free.fr/
La vallée de la Rance maritime : http://valderance.free.fr/
Les côtes du nord de la Bretagne : http://docarmor.free.fr/

SAM

unread,
Mar 26, 2013, 2:15:55 PM3/26/13
to
Le 26/03/13 14:54, docanski a �crit :
> Alors que les eleveurs et agriculteurs empoisonnent toujours la
> Bretagne, SAM ecrit ce qui suit en ce 26/03/2013 12:46 :
>
>> J'esp�re que ton site n'est pas chez Free !?
>
> Heu ... si.
>
>> cette m�thode y est interdite !
>
> Pourquoi ?

�a boufferait trop de ressources.
C'est un trou *hainooormeu" de s�curit�.

Et puis ... y a pas � discuter, l'admin te ferme ton site point barre !
<http://les.pages.perso.chez.free.fr/index.php?tag/Suspension>

> J'y ai d�j� 2 BdD sur 2 sites diff�rents (pour mes forums)

oui, voil�, seules les BdD sont autoris�es

Et les formulaires *doivent* avoir un captcha
(m�me s'il parait que de nos jours cette "protection" soit un peu illusoire)

<http://les.pages.perso.chez.free.fr/index.php?go/0z>
Bonne lecture !!!

> je ne suis pas vraiment chaud pour ajouter une table pour le chat,
> crainte de d�conner.

ce n'est pas tant la table que tous les codes pour y acc�der !
(codes � blinder)

> Attends, car comme tu n'as pas la totalit� des pages,

J'ai les "pages" c a d celles que mon butineur re�oit mais ... je n'ai
pas les fichiers correspondants (ceux PHP en particulier)

> �a risque de foutre un peu plus le bordel si je bricole avec des bouts
> de code que tu �cris sans avoir l'ensemble des scripts sous les yeux.

Non, non, jamais (?) je ne file du code (des fichiers) qui mis sur le
site interf�re avec lui,
je renomme les fichiers,
le code n'est pas du pr�-m�ch� (enfin ... pas tout!)
0 new messages