[RESOLU] Script lancer une page, mais une seule fois

Eléphanteau du PHP | 28 Messages

08 févr. 2019, 16:09

Bonjour,

Dans une page de mon site, je rafraîchis à intervalles réguliers deux DIV avec ce code :

Code : Tout sélectionner

<script> setInterval(function (){$('#connectes').load('scripts/connectes.php').fadeIn("slow");},10000); setInterval(function (){$('#echanges').load('scripts/echanges.php').fadeIn("slow");},2000); </script>
Donc à l'ouverture de ma page qui les appelle, je dois attendre dix secondes pour que le <div> qui affiche le contenu de #connectes s'actualise.

Je voudrais bien lancer une seule fois cette actualisation dès le chargement, afin de supprimer ce temps de latence de dix secondes avant réactualisation des infos contenus dans ce <div>.

Donc un script qui ressemblerait à :

Code : Tout sélectionner

<script> une_seule_fois(function (){$('#connectes').load('scripts/connectes.php').fadeIn("slow");} </script>

David.
-- Ecumastor

Avatar du membre
Mammouth du PHP | 918 Messages

13 févr. 2019, 16:42

Salut déclare la fonction séparément, par exemple function connectes(){/*...*/};
Fais un setInterval(connectes, 10000); suivi d'un call de la fonction connectes();

Code : Tout sélectionner

<script> function connectes(){$('#connectes').load('scripts/connectes.php').fadeIn("slow");}; connectes(); setInterval(connectes,10000); setInterval(function (){$('#echanges').load('scripts/echanges.php').fadeIn("slow");},2000); </script>
J'édite souvent mon message après avoir répondu pour le corriger où y apporter des informations complémentaires alors n'hésitez pas à y jeter un nouveau coup d'oeil ^^

Eléphanteau du PHP | 28 Messages

14 févr. 2019, 15:23

Salut Saian,

Excellente idée. Merci.
J'ai résolu mais d'une autre manière : mon problème était d'attendre 10 secondes l'affichage du script dans la balise <div> à cause de la fonction de réactualisation :
setInterval(function (){$('#connectes').load('scripts/connectes.php');},10000);
MAIS constatant que je pouvais fort bien mettre quelque chose dans la balise en attendant, j'ai juste fait un include() :

<div id="connectes">
<?php include("scripts/connectes.php") ?>
</div>

... ce qui a résolu mon problème.

Merci Saian.
-- Ecumastor

Avatar du membre
Mammouth du PHP | 918 Messages

14 févr. 2019, 15:29

Très bonne solution également. ;)
J'édite souvent mon message après avoir répondu pour le corriger où y apporter des informations complémentaires alors n'hésitez pas à y jeter un nouveau coup d'oeil ^^