Page 1 sur 1

Actualisation automatique sans remonter en haut de la page

Posté : 15 avr. 2022, 16:20
par __Charlotte__
Bonjour,

J'ai une page web qui affiche une liste de livraison qu'il reste à livrer. Elle s'actualise automatiquement toutes les 5 minutes, et les livraisons qui ont été faites s'effacent au fur et à mesure.

Mon problème est qu'à l'actualisation, si on était tout en bas de la page, on se retrouve de nouveau en haut.
Comment faire pour empêcher ça et retourner au même endroit ?

Je suis preneuse surtout d'une solution très simple en PHP (sans JS ou AJAX). Quitte à ce que ça remonte quand même s'il s'est basé sur une livraison qui à disparu suite à l'actualisation. Par exemple avec des ancres ; mais comment on fait pour savoir au niveau de quelle ancre il était ?

Ou sinon, une solution plus complexe qui se replacerait pareil même si des livraisons ont disparu entre temps. Mais j'aurais besoin de quelques détails sur comment faire parce que j'y connais rien en JS ou AJAX.

Merci d'avance pour vos retour.

Re: Actualisation automatique sans remonter en haut de la page

Posté : 15 avr. 2022, 16:44
par GuillaumeLM
Bonjour,
Tiens regarde par ici, je pense que ça devrait t'aider : actualiser-un-script-php-sans-update-la-page

Re: Actualisation automatique sans remonter en haut de la page

Posté : 19 avr. 2022, 08:49
par __Charlotte__
Merci beaucoup pour ton aide.

Re: Actualisation automatique sans remonter en haut de la page

Posté : 19 avr. 2022, 09:50
par two3d
Elle s'actualise comment ? une meta refresh ?

Re: Actualisation automatique sans remonter en haut de la page

Posté : 19 avr. 2022, 10:18
par @rthur
Tu peux récupérer la position du scroll en javascript comme ceci :
https://developer.mozilla.org/fr/docs/W ... ow/scrollY

Ensuite tu peux passer en paramètre dans l'url de redirection la position courante et au (re)chargement de la page si ce paramètre est indiqué positionner le scroll jusqu'à cette position avec cette fonction :
https://developer.mozilla.org/fr/docs/W ... w/scrollBy

Re: Actualisation automatique sans remonter en haut de la page

Posté : 19 avr. 2022, 10:57
par __Charlotte__
@rthur : cette solution me plaie beaucoup, je vais l'essayer.
Merci beaucoup pour vos réponses.

Re: [RESOLU] Actualisation automatique sans remonter en haut de la page

Posté : 19 avr. 2022, 14:01
par Cyberdede
Salut tu peux mettre en base de page une ancre
exemple
<p name="bas"></P>
puis dans ton refresh tu rajoute ?#name
<meta http-equiv="refresh" content="300;URL=?#bas">

Re: [RESOLU] Actualisation automatique sans remonter en haut de la page

Posté : 19 avr. 2022, 14:40
par two3d
C'est pas name mais id qu'il faut utiliser.

Elle demande pas à aller en bas mais là où elle était.

Re: Actualisation automatique sans remonter en haut de la page

Posté : 19 avr. 2022, 16:14
par __Charlotte__
Elle s'actualise comment ? une meta refresh ?
two3d : elle s'actualise grâce au php 'setTimeout()' :

<script type="text/javascript">
//Paramétrage
window.allowReload = true;
TextInput = false;

var ActuDelais = 300000;
setTimeout("ReloadThread()", ActuDelais);


[....]
</script>

Demain j'essaie de mettre en place la solution de récupérer la position du scroll

Re: Actualisation automatique sans remonter en haut de la page

Posté : 19 avr. 2022, 16:28
par or 1
two3d : elle s'actualise grâce au php 'setTimeout()' :

<script type="text/javascript">
non, comme le dit le code, c'est du javascript.

Re: [RESOLU] Actualisation automatique sans remonter en haut de la page

Posté : 19 avr. 2022, 17:16
par two3d
setTimeout rechargera qu'une fois, mais je pense que la fonction ReloadThread() relance elle même un setTimeout.

Ya pas besoin de tous ce tralala de code, un simple setInterval suffit avec un window.location.reload() à l'intérieur.

Comme la proposé @rthur, voir avec window.pageYOffset de JavaScript puis quand un intervalle se lance récupérer la position puis faire descendre la page jusqu'à l'endroit récupéré