#html #css
#HTML #css
Вопрос:
У меня проблемы с CSS reload
. Я использую HTML webpage
файл, связанный с css. Проблема в том, что когда я обновляю этот файл CSS, мне нужно записать новую версию в HTML-коде, вот так:
<link href="https://www.lagaleramagazine.es/rucab/css/style-custom.css?v=195" rel="stylesheet">
Другим способом CSS не обновлялся в браузере. Я пытался очистить кеш, принудительно перезагрузить с помощью command shift r
(на Mac Chrome), но не обновлял его, обновляю только при редактировании HTML и записи новой версии (196, 197 …). Это головная боль. Как я могу автоматически обновлять файл CSS в браузере и HTML-коде, не создавая новую версию каждый раз, когда я изменяю файл CSS? Вы можете посмотреть сайт здесь.
Комментарии:
1. Путем изменения версий ваших файлов css или отключения кэширования при разработке
2. Используете ли вы какой-либо серверный код? Одним из методов может быть определение даты изменения файла CSS и добавление ее в качестве метки времени к URL файла.
Ответ №1:
Это проблема с кэшированием. Когда браузер запрашивает /rucab/css/style-custom.css
, сервер отвечает этим заголовком:
cache-control: public, max-age=31536000
Это означает, что браузер может хранить файл в кэше до 31536000 секунд (1 год). И большинство браузеров делают это. Это хорошая идея для готовых сайтов, но если вы внесете изменения в style-custom.css
, браузер не узнает, потому что он получает файл из кэша.
Пока вы разрабатываете сайт, настройте сервер так, чтобы он отвечал этим заголовком:
cache-control: no-cache
Это гарантирует, что браузер всегда будет извлекать файл.
Комментарии:
1. Я вставил это в заголовок: <meta http-equiv=»Cache-control» content =»no-cache»> Но не сработало
2. Нет… Этот заголовок предназначен для файла css и должен быть отправлен вместе с http-ответом.
3. Как я могу вставить это в файл CSS?
4. Что? Нет. Настройте свой сервер на отправку
cache-control: no-cache
в заголовкеstyle-custom.css
. Вы используете Apache?5. Я могу создать файл htaccess, если вы хотите.