Таблица стилей не обновляется
Я создаю веб-сайт, но когда я внес изменения в таблицу стилей на своем сайте, и я обновил сайт, ни одно из этих изменений не было.
Я попытался использовать средство источника просмотра, чтобы проверить stylesheet.css
, и он также не обновляется. Но когда я иду в корень моей системы, это так.
Мне нужно подождать не менее 20 минут, прежде чем я увижу обновление на своем сайте, может ли кто-нибудь сказать мне, почему я не вижу изменений сразу? Что-то не так с моим браузером, компьютером или сервером?
Я также попытался удалить мои файлы cookie, кеш и историю, но он все еще не работал.
Ответы
Ответ 1
Если ваш сайт еще не жив, и вы просто хотите обновить таблицу стилей в удобные интервалы времени, используйте это:
Ctrl + F5
Это заставит ваш браузер перезагрузить и обновить все ресурсы, относящиеся к странице веб-сайта.
Поэтому каждый раз, когда вы что-то меняете в своей таблице стилей, и вы хотите просмотреть новые результаты, используйте это.
В Mac OS Chrome используйте команду: Ctrl + Shift + R.
Ответ 2
Скорее всего, файл просто кэшируется сервером. Вы можете отключить кеш (но не забудьте включить его при посещении сайта) или изменить href
вашего тега link
, чтобы сервер не загружал его из кеша.
Если ваша страница создается динамически с помощью некоторого языка, например php, вы можете добавить некоторую переменную в конце значения href
, например:
<link rel="stylesheet" type="text/css" href="css/yourStyles.css?<?php echo time(); ?>" />
Это добавит текущую временную метку в конец пути к файлу, поэтому она всегда будет уникальной и никогда не будет загружена из кеша.
Если ваша страница статична, вам нужно самостоятельно управлять этими переменными, поэтому используйте что-то вроде:
<link rel="stylesheet" type="text/css" href="css/yourStyles.css?version=1" />
после внесения некоторых изменений в содержимое файла, измените version=1
на version=2
и т.д.
Если вы хотите отключить кеш из кеширования файлов css, обратитесь к документации по типу вашего сервера (это делается по-разному на apache, IIS, nginx и т.д.) или спросите/выполните поиск по https://serverfault.com/
Предполагая, что IIS - добавление ключа с правильными настройками в корневом каталоге или соответствующей папке делает трюк.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<caching enabled="false" enableKernelCache="false" /> <!-- This one -->
</system.webServer>
</configuration>
Тем не менее, иногда по-прежнему приходится перерабатывать пул приложений, чтобы "поднять" CSS. Поэтому: Отключение кэширования IIS не является гарантией на 100%.
Для браузера: есть некоторые примечания по мелкозернистый контроль локального кеша на FF over на SuperUser для заинтересованных.
Ответ 3
Самый простой способ проверить, кэшируется ли файл, - добавить строку запроса к элементу <link />
, чтобы браузер перезагрузил его.
Для этого вы можете изменить ссылку на таблицу стилей на что-то вроде
<link rel="stylesheet" type="text/css" href="/css/stylesheet.css?v=1" />
Обратите внимание на часть v=1
. Вы можете обновлять его каждый раз, когда вы создаете новую версию, чтобы увидеть, действительно ли она кэшируется.
Ответ 4
Возможно, это не проблема OP, но у меня была такая же проблема, и я решил ее сбросить, отключив Supercache на моей cpanel. Возможно, некоторые другие новички, подобные мне, не будут знать, что многие хостинг-провайдеры кэшируют CSS и некоторые другие статические файлы, и эти кэшированные старые версии файлов CSS будут сохраняться в облаке в течение нескольких часов после редактирования файла на вашем сервере. Если ваш сайт обслуживает старые версии файлов CSS после их редактирования, и вы уверены, что вы очистили кеш браузера, и вы не знаете, является ли ваш хост кешированием, проверьте это, прежде чем вы попробуете любой другой сложные предложения.
Ответ 5
У меня была аналогичная проблема, тем более язвительно, просто будучи очень медленным для обновления. Я не мог заставить свои изменения вступать в силу во время работы на сайте, чтобы сохранить свою жизнь (пытаясь очистить мой кеш браузера и файлы cookie), но если я вернусь на сайт позже или открою другой браузер, они были.
Я также решил проблему, отключив программное обеспечение Supercacher на моем компьютере cpanel (Siteground). Вы также можете использовать кнопку "флеш" для отдельных каталогов для проверки, если это было до отключения.
Ответ 6
! [Очистить кеш] Ctrl+Shift+Delete
http://i.stack.imgur.com/QpqhJ.jpg
Иногда его необходимо обновить, чтобы увидеть обновления. Но маловероятно, что средние веб-пользователи знают, что такое жесткое обновление, и вы не можете ожидать, что они будут обновлять страницу до тех пор, пока все не выпрямится.
Вот один из способов сделать это: <link rel="stylesheet" href="style.css?v=1.1">
Ответ 7
У меня была такая же проблема, и это было связано с тем, что браузер кэширует таблицу стилей. Попробуйте обновить кеш:
Cmd + Shift + r (on a mac) OR Ctrl + F5 (on pc)
Это приведет к жесткому обновлению и должно использовать новую таблицу стилей, которую вы загрузили на сервер.
Ответ 8
В моем случае, поскольку я не мог добавить временную метку кэширования к URL-адресу css, оказалось, что мне пришлось вручную обновить пул приложений в IIS 7.5.7600.
Все остальные проспекты были преследованы, вплоть до полного отключения кэширования для сайта, а также для локального браузера (например, ENTIRELY отключено для обоих), все же не сделал этого. Также "перезапуск" веб-сайт ничего не сделал.
В той же позиции, что и я?
[Имя сайта] > "Пул приложений" > "Рециркуляция" - последнее ваше решение...
Ответ 9
Это может быть результатом конфигурации вашего сервера, некоторые хостинг-провайдеры позволяют "Varnish" в вашем домене. Этот кеширующий HTTP-обратный прокси используется для ускорить доставку. Можно попытаться отключить лак на cpanel (при условии, что он у вас есть) и проверить, было ли это так.
Ответ 10
Не обновляйте стили в style.css, вместо этого создайте новую собственную таблицу стилей и импортируйте в style.css
your-own-style.css
.body{
/*any updates*/
}
импортируйте свой собственный стиль .css в style.css
@import url("your-own-style.css");