2013-03-22 1 views

ответ

1

Если нужно просмотреть изменения css или js, одним из способов является добавление _versionNo в файл css/js для каждой версии. Например.

script_1.0.css script_1.1.css script_1.2.css т.д.

Вы можете проверить это link, чтобы увидеть, как она могла бы работать.

Источник: Force browser to clear cache

0

Трюк я иногда использую для добавления параметра в связанном файле. Итак, если это таблица стилей, которую вы хотите обновить, используйте что-то вроде screen.css? Version = 123. Затем вы можете обновить его до 124, и браузер забудет его кешированную версию и вытащит ее снова. Будьте внимательны, чтобы не обновлять слишком часто на живом сайте - вы погубите жизнь своего пользователя, если им придется загружать ваши основные ресурсы каждый раз, когда они посещают.

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

0

В зависимости от объема ресурсов, необходимых для перезарядки. Существует много разных методов, которые можно использовать, один из них - использование версий или временная привязка запроса. Поэтому, когда вы получаете файлы, которые необходимо обходить кеш, вы запрашиваете их, используя временную метку, например, так (Exaple using C# + Razer).

<script src="/Js/[email protected]" type="text/javascript"></script> 
1

Вы должны быть в состоянии сделать это с помощью обычного HTML с метками «meta». Метатеги относятся к тегу «header» и используются для разных целей, в том числе для предотвращения кэширования и истечения срока действия содержимого.

<meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Expires" content="-1" /> 

Это 2 хорошие теги для этого. Хорошие браузеры должны их распознавать.

0

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

Один из способов - добавить «номер версии» в файлы ресурсов. Это позволяет браузеру думать, что ресурс - это другой файл, и он будет загружать его снова. This question имеет некоторые ответы, которые могут помочь вам в этом. Метод строки запроса, вероятно, проще всего контролировать и поддерживать, если вы используете код на стороне сервера, такой как PHP/JSP/ASP.NET, для создания уникального номера версии для ввода строки запроса. Обратите внимание, что вам придется строить его, чтобы не происходить в производстве, иначе ваши пользователи будут вынуждены перезагружать ресурсы с каждым запросом страницы, что увеличит время загрузки для них.

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

  • Chrome Developer Tools имеет встроенную поддержку для этого. См. Принятый ответ this question о том, как отключить кеш в Chrome. Обратите внимание, что вы должны открыть свои инструменты разработчика в Chrome для отключения кэша.
  • У Firefox есть несколько способов сделать это, как указано в this question на SuperUser.
  • Инструменты разработчика Internet Explorer также поддерживают это, как видно из this question на SuperUser.Возможно, вам придется оставить инструменты разработчика открытыми, чтобы это оставалось в силе.

Если вы используете другой (или разнообразный) браузер для разработки/тестирования, вы должны уметь Google, как отключить кеш в соответствующем браузере.

Firefox и Chrome также поддерживает Ctrl +сдвигу + R или Сдвига + F5 для кэша-менее перезагрузок страниц.

+0

Вместо номера версии вы можете просто использовать файл с последним измененным временем. Добавьте это как параметр querystring! – Doin

+0

@Doin Последняя измененная дата - это тип нумерации версий, она основана только на датах, а не на произвольных числах, прикрепленных к потенциально произвольным шагам изменения. Я поместил его в '' ', чтобы указать, что это может быть любой номер/значение, которое можно изменить по желанию. – ajp15243

+0

Ок. Это просто, что« номер версии », вероятно, не предлагает« последнюю измененную дату »для большинства люди, которые могут это прочитать, и «последняя измененная дата» - это особенно простое решение, потому что вам не нужно ничего отслеживать. Поэтому я подумал, что должен упомянуть об этом. – Doin