web-dev-qa-db-fra.com

Forcer le navigateur à recharger index.htm

comment puis-je forcer un navigateur à toujours charger la version la plus récente de index.htm lorsque la page est chargée en entrant l'URL www.mydomain.com/index.htm ou simplement www.mydomain.com dans le champ d'adresse du navigateur et en appuyant sur entrée.

J'essaie ceci dans Chrome et la dernière version de index.htm est apparemment chargé uniquement, lorsque j'actualise manuellement (F5) ou lorsque l'URL est déjà dans le champ d'adresse du navigateur et que je appuyez sur Entrée.

Je suppose que je fais quelque chose d'extrêmement stupide, car lorsque j'ai recherché le problème, tout ce que je pouvais trouver, c'était des solutions sur la façon de faire recharger un navigateur vos fichiers .js et .css en ajoutant? V = xxxx aux noms de fichiers. Mais comment cela devrait-il fonctionner, sinon même la dernière version de la page index.htm, dans laquelle je fais ces modifications, est chargée ??

J'ai aussi essayé de mettre

<meta http-equiv="cache-control" content="no-cache">

dans le <head> de index.htm. Mais cela ne semble pas avoir d'effet.

Toute aide serait grandement appréciée!

Merci, linus

26
Linus

OK, apparemment pas de cache n'était pas suffisant. Ce qui suit fait l'affaire:

  <meta http-equiv="cache-control" content="no-cache, must-revalidate, post-check=0, pre-check=0" />
  <meta http-equiv="cache-control" content="max-age=0" />
  <meta http-equiv="expires" content="0" />
  <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
  <meta http-equiv="pragma" content="no-cache" />
45
Linus

Vous pouvez utiliser le code ci-dessous pour actualiser ou recharger la page d'index actuellement chargée à partir d'une adresse URL entrée directement dans la barre d'adresse du navigateur, après un nombre spécifique de secondes, forçant ainsi le navigateur à recharger en permanence le document actuel. Dans ce cas, le nombre de secondes a été défini sur 5:

<meta http-equiv="refresh" content="5" />

Veuillez noter que si vous définissez le nombre de secondes sur 0, la page sera automatiquement rechargée instantanément, à chaque téléchargement réussi.

3
user4230136

Pour ce faire, vous devrez procéder à un codage côté serveur en cours de route. Vous pouvez utiliser des technologies telles que PHP ou ASP.NET. Je préfère coder avec PHP. Voici donc un exemple basé sur PHP. Assurez-vous tout d’abord que votre index s'appelle "index". php ", plutôt que" index.html "ou" index.htm ". Notez les codes suivants et intégrez-les dans votre fichier index.php, tout en insérant le contenu de votre propre page:

<html>

    <?php
        header("Content-Type: text/event-stream");
        header("Cache-Control: no-cache");
    ?>

    <head>
        <script>
            var sse = new EventSource("index.php");
            sse.onmessage = function(event) {
                document.write(event.data);
            }
        </script>
    </head>

    <body>

        <!-- Insert HTML Codes -->

        <?php
            flush();
        ?>

    </body>

</html>
1
user4230136

Googlé et est sorti sur ce site. maby cela aide: http://code.tutsplus.com/tutorials/4-ways-to-auto-refresh-your-browser-when-designing-new-sites--net-13299 Espoir ça aide, 807

0
807