Maison  >  Article  >  développement back-end  >  Comment éviter les données obsolètes lors de l'utilisation du bouton Précédent dans les applications à page unique ?

Comment éviter les données obsolètes lors de l'utilisation du bouton Précédent dans les applications à page unique ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-26 19:46:02755parcourir

How to Prevent Stale Data When Using the Back Button in Single-Page Applications?

Actualiser la page en cliquant sur le bouton Précédent

La navigation à l'aide du bouton Précédent peut souvent entraîner un comportement involontaire, en particulier lors de l'utilisation de .htaccess pour acheminer le trafic à une seule page. Le problème survient car le bouton de retour fonctionne en récupérant la version mise en cache de la page, ce qui entraîne des données obsolètes.

Pour résoudre ce problème, explorons des solutions alternatives :

Page horodatée

Créez un nouveau fichier PHP qui affiche un horodatage. Cela vous permettra d'identifier quand la page a été actualisée :

<code class="php"><?php
header("Cache-Control: no-store, must-revalidate, max-age=0");
header("Pragma: no-cache");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
echo time();
?>
<a href="http://google.com">aaaaa</a></code>

Cette approche garantit que la page est toujours rechargée lors de l'utilisation du bouton de retour.

Sauvegarde des champs cachés

Sauvegarde des champs cachés

<code class="html"><input type="hidden" id="refreshed" value="no">
<script type="text/javascript">
onload=function(){
var e=document.getElementById("refreshed");
if(e.value=="no")e.value="yes";
else{e.value="no";location.reload();}
}
</script></code>

Une autre solution consiste à créer un champ de formulaire caché qui stocke l'état actuel des éléments créés dynamiquement. Lors du chargement de la page, ce champ peut être utilisé pour restaurer les éléments :

Cette approche maintient l'état de la page même après avoir utilisé le bouton de retour.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn