Member 13624114 Ответов: 1

Как сделать так, чтобы пользователь повторно aqcuire веб-сайт (очистить кэш) при его загрузке?


Поэтому я новичок и делаю базовый сайт, размещенный на github только для меня и некоторых друзей, чтобы использовать его время от времени, но я иногда нажимаю обновления с точки зрения надежности и улучшения дизайна, но так как github размещает только то, что находится в вашем index.html и ничего больше, нет никакой автоматической очистки кэша и тому подобного, что вы могли бы увидеть, скажем, на готовом веб-сайте с weebly.

Как мне это сделать, чтобы всякий раз, когда я нажимаю обновление, нам не нужно было делать CTRL + F5, чтобы очистить кэш и перезагрузить страницу?

Делая это в index.html кстати, файл.

Спасибо.

Что я уже пробовал:

Посмотрел некоторые решения в интернете, все они, похоже, находятся в среде javascript или C++..

j snooze

что кэшируется, что вам нужно обновить? Есть ли у вас какие-то файлы javascript, которые вы меняете? Вы хотите сказать, что у вас есть только index.html файл, и вы вносите в него html - изменения, и они кэшируются? Если это файлы javascript, то это болевая точка для большинства людей, и управление версиями файла, похоже, является тем, что делают многие люди.

Member 13624114

В основном это весь сайт. Например, изменение ссылок на кнопках, замена изображений на значках кнопок и т. д.

И в основном это просто анекдот. index.html это кэшируется, так как всякий раз, когда вы снова загружаете страницу, ваш браузер просто загружает кэшированную версию, а не фактический веб-сайт.

1 Ответов

Рейтинг:
2

Dave Kreskowiak

Google для "html no cache header", и вы найдете все, что вам нужно.

Вы не можете очистить кэш браузера при загрузке страницы. Вы можете управлять только политикой кэширования отправляемой страницы.


Member 13624114

как бы я сделал это для кнопки? У меня есть что-то похожее на кликабельное изображение.
(Пример: кнопка)
Скрыть   скопировать код

<a href="Episode1/" class="myButton"><img src="Ep1.jpg" style="width:100%;height:100%;"> </a>


Так что он говорит мне положить
Скрыть   скопировать код
<META HTTP-EQUIV="Pragma" CONTENT="no-cache"><META HTTP-EQUIV="Expires" CONTENT="-1">

внутри заголовка. Поместил бы я это между двумя тегами <a> и </a>? или я бы поместил его в то, что использую для организации своего контента?

Dave Kreskowiak

Нет, мета-теги всегда идут внутри заголовочных тегов в верхней части вашей HTML-страницы.

https://www.w3schools.com/tags/tag_meta.asp

Member 13624114

Значит, я делаю что-то не так, не используя теги HEAD? xd

Правка: я ошибаюсь! На самом деле я использовал голову, просто я думаю, что это было настолько незначительно, что я не помнил, как это сделал!

Member 13624114

Хорошо, я просто попробовал это сделать, и это не сработало. Вот мой раздел тега кода:

<название>
Я: Призрачная Угроза

в <мета НТТР-экв="Прагма" содержание="нет-Cache"и GT;
<META HTTP-EQUIV="Expires" CONTENT="-1">

При изменении названия просто с "I: The Phantom Menace" на "TEST" мне пришлось нажать CTRL Reload (очистить кэш для применения обновлений.)

EDIT: по какой-то причине Codeproject не справляется с разделом кода. Вот тебе пастебин. https://pastebin.com/17pzxeTJ

Dave Kreskowiak

Похоже, что вы помещаете мета-теги в теги заголовка, а не в теги заголовка. Вы хотя бы перешли по ссылке, которую я поместил в предыдущем посте?

<html>
  <head>
    <meta HTTP-EQUIV="Pragma" CONTENT="no-cache" />
    <meta HTTP_EQUIV="Expires" CONTEXT="-1" />
  </head>
  <title>Something Blue</title>
<body>
</body>
</html>

Member 13624114

Я действительно вошел в ссылку, которую вы разместили, однако, не уверен, что вы смотрели на pastebin или нет, тег заголовка фактически закрывается, затем вводятся мета - теги, а затем тег конечного заголовка. Поэтому я не поместил мету в теги заголовков.

Dave Kreskowiak

Я опубликовал пример, который работает. Судя по тому, что вы поместили в pastebin, похоже, что у вас нет внешних HTML-тегов.