picture picture
mai 25, 2008 PHP 2 Commentaires

Les cache-killer : comment forcer à ne pas utiliser le cache ?

Internet Explorer (entre autres) ayant la mauvaise idée de mettre en cache tous les fichiers reçus, il y garde donc également les variables dynamiques reçues… Cela peut rapidement être gênant pour un visiteur qui recharge une page dont les paramètres variables ont changés…
Pour le « forcer » à ne pas mettre en cache ces variables, il y a quelques astuces de code qui différent suivant les langages. En voici quelques unes que j’utilise couramment pour HTML, PHP, ASP ou Action-Script…

en XHTML :

à insérer dans la balise head

 <!-- pour les navigateurs HTTP/1.0 --> <meta http-equiv="pragma" content="no-cache" /> <!-- pour les navigateurs HTTP/1.1 --> <meta http-equiv="cache-control" content="no-cache" /> 

en PHP :

à insérer en début du fichier

<?php // on retourne l'heure immédiate de Greenwitch $debut = gmdate("D, d M Y H:i:s"); header ("Last-Modified: $debut GMT"); header ("Expires: $debut GMT"); header ("Cache-Control: no-cache, must-revalidate"); header ("pragma: no-cache"); ?>

en ASP :

à insérer en début du fichier

<% response.buffer=true Response.Expires=0 Response.ExpiresAbsolute=now() - 1 %>

en ACTION-SCRIPT :

à insérer n’importe où dans une animation Flash

 //on crée un nouvel objet date dateCourante = new Date(); // on crée un nouvel objet LoadVars() var envoi_lv = new LoadVars(); //on va le charger avec la date immédiate envoi_lv.date = dateCourante.getTime(); // ... le reste est une mise en oeuvre d'un Loadvars classique envoi_lv.send("foo.php", '_blank', "POST"); envoi_lv.onLoad  =  function(succes) {  	if(succes)  		// instruction1  	else  		// instruction2 }

2 Responses to “Les cache-killer : comment forcer à ne pas utiliser le cache ?”

2 Commentaires

  1. Togo dit :

    Coucou c moi

  2. wouaouh dit :

    :bravo:
    je cherchais ça pour action script
    bravo et merci

Commentaire

Name

Mail (ne sera pas publié)

Website

Laisser ces deux champs tels quels :
:D :-) :( :o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: