picture picture
juin 23, 2007 JavaScript 8 Commentaires

Comment recharger automatiquement une page UNE seule fois après son ouverture ?

rafraichissement automatique uniqueJavascript peut aider pour cette demande de raffraichissement automatique unique un peu particulière…

 

Il est facile de recharger une page à intervalles régulier, tout simplement avec un balise <META /> :

<META HTTP-EQUIV="Refresh" CONTENT="30; URL=http://www.tonSite.com/page.html">

Il existe d’autres méthodes via PHP ou javascript par exemple.

 

C’est nettement moins évident de recharger juste une seule voir, qui plus est sans déclancher les fameux bandeaux jaunes d’Internet Explorer ("IE a bloqué etc…" :( )

Celà peut néanmoins être souhaitable. Par exemple :

  • certain hébergeurs gratuits imposent des pubs qui ne s’affichent qu’au premier chargement de la page, c’est une façon de ne pas les imposer aux visiteurs…
  • certains navigateurs (pas la peine de dire lesquels …) posent des pb de mise en cache des images, et peuvent nécessiter un rechargement ( voir ici) pour afficher des images mises à jour

La solution que j’ai trouvée fonctionne bien, y compris avec Internet Explorer, à condition de bien mettre le code javascript dans le HEAD de la page en cours, et non dans un fichier.js dont le chargement déclanche un message de blocage.

L’astuce consiste à comparer l’URL en cours avec la dernière qui a été chargée dans l’historique de navigation. Si c’est la même… on ne raffraichis pas. Sinon, on le fait :

Le code :

dans le <head> :

// rafraichissement des pages 1 seule fois
function rafraichis() {

if (document.referrer !=  » && document.referrer != document.location){
document.location.replace(document.location);
}

}

 

et dans la balise <body>:

<body onload="rafraichis()">

Toutefois rien n’est parfait… ce double chargement des pages est nettement visible, d’autant plus que les pages sont "lourdes" … Personnellement ça m’agace assez vite :/ . Mais si c’est nécéssaire … le code existe !

:p

8 Responses to “Comment recharger automatiquement une page UNE seule fois après son ouverture ?”

8 Commentaires

  1. webtolosa dit :

    si, mais uniquement sur internet explorer. Donc sur le fond, tu as raison : c’est devenu inutile actuellement puisqu’IE est devenu minoritaire derrière Firefox et Chrome (ce qui n’était pas le cas il y a plus de 4 ans quand cet article a été écrit…)

  2. kev dit :

    Testé et ne marche pas.

  3. root dit :

    lool :D :( :[ :[ :[ :[ :[ :[ :[ :[ :C :C :C :C :C :(( :(( :(( :(( :(( :(( :(( :(( :(( lol lol lol lol :| :| :| ;) ;)

  4. reg dit :

    Finallement cela ne fonctionne que pour IE :[

  5. reg dit :

    SUPER voila 1 semaine que je cherchais :)) :)) :))
    je vais m’empresse de filer ce lien sur tout les forums ou j’ai sollicite de l’aide…
    Ton audiance va exploser :]

  6. -_- dit :

    sa marche pas :| :no: :gne:

  7. haroun dit :

    :C :C :C :C :C :C :C :C :C ??? ??? ??? ??? ??? :non: :non: :non: x| x| x| :gne: :gne: :gne: :gne:

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: