html - without - reload page with cache




Принудительно перезагрузить браузер index.htm (3)

Вы можете использовать приведенный ниже код для обновления или перезагрузки текущей загруженной страницы индекса с URL-адреса, введенного непосредственно в адресную строку браузера, через определенное количество секунд, что вынуждает браузер всегда перезагружать текущий документ. В этом случае количество секунд было установлено на 5:

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

Обратите внимание, что установка количества секунд в 0 приведет к тому, что страница будет автоматически перезагружаться мгновенно при каждой успешной загрузке.

как заставить браузер всегда загружать самую последнюю версию index.htm при загрузке страницы, введя URL-адрес www.mydomain.com/index.htm или просто www.mydomain.com в поле адреса браузера и нажав клавишу ввода.

Я пытаюсь сделать это в Chrome, и последняя версия index.htm, по-видимому, загружается только при обновлении вручную (F5) или когда URL уже находится в поле адреса браузера, и я нажимаю клавишу ввода.

Я предполагаю, что делаю что-то чрезвычайно глупое, потому что, когда я искал проблему, все, что я мог найти, было решение о том, как заставить браузер перезагрузить ваши файлы .js и .css, добавив? V = xxxx к именам файлов. Но как это должно работать, если не загружена даже самая последняя версия страницы index.htm, в которой я делаю эти изменения ??

Я тоже пробовал ставить

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

в <head> файла index.htm. Но это, похоже, не имеет никакого эффекта.

Любая помощь будет принята с благодарностью!

Спасибо линус


ОК, видимо без кеша было мало. Следующее делает трюк:

  <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" />

Чтобы сделать это, вам потребуется выполнить некоторое кодирование на стороне сервера. Вы можете использовать такие технологии, как PHP или ASP.NET для этого. Я предпочитаю кодирование с помощью PHP, поэтому вот пример на основе PHP. Прежде всего, убедитесь, что ваш INDEX называется «index.php», а не «index.html» или «index.htm». Теперь запишите следующие коды и сделайте так, чтобы они интегрировались в ваш файл index.php, а также вставьте свое собственное содержимое страницы:

<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>




reload