Очень простой и быстрый способ сброса CSS-кэша браузера

Довольно часто веб-разработчикам приходится сталкиваться с необходимостью “перезагрузки” CSS-файла какого-либо тестируемого веб-ресурса, который (CSS-файл) кэшируется интернет-браузером.

Очень удачным открытием для меня стал способ сброса этого кэша в один клик, о котором поведаю ниже.

Часто наблюдаю для такого случая совет: нажать комбинацию клавиш Ctrl + F5. Однако в Опере это не работает, а я пользуюсь именно этим браузером.

Вот каким образом я ранее обновлял кэш нужного файла стилей.

  1. Открывал исходный код страницы.
  2. Находил строку со ссылкой на CSS-файл.
  3. Копировал ее и загружал в браузере.
  4. Нажимал F5 для обновления этого файла.

Мда… Много, однако, действий для очень простой задачи.

Спасибо Александру Тимофееву за то, что просветил меня в этом вопросе. Теперь я знаю, как сделать то же самое, но всего лишь одним кликом мыши!

Для этого нужно создать в браузере новую закладку с вот таким хитрым ява-скриптом. По клику на эту закладку и происходит “перезагрузка” CSS-файла просматриваемого сайта.

С отключенной в браузере поддержкой Java-Script, данный способ, естественно, работать не будет.

Очень полезная штука, которой я несказанно рад.

P.S. Если у вас есть не менее интересный альтернативный способ сброса кэша в Опере, то буду признателен за Ваш комментарий об этом.

Комментарии (24)

  1. Zigzag
    3 ноября 2007 г. в 12:12

    На самом деле достаточно в конце адреса css файла при его подключении к документу просто поставить знак вопроса и не нужен никакой джаваскрипт

  2. 3 ноября 2007 г. в 14:04

    Александр, это нужно мне в том числе и для моих сайтов. Объясните, пожалуйста, подробнее на счет “=main.css?time();”, я не понял, куда это нужно подставлять (покажите, плиз, на примере этого сайта, вот ссылка на файл стилей – suprabiz.com/wp-content/themes/suprabiz-com/style.css).

    Касательно обновления по F5 – это срабатывает не всегда, иначе бы я не искал другого способа.

    IdeaLog, ваш способ слишком муторный :) и не удобнее способа, которым я пользовался раньше.

    Максим Покровский, этот метод для любого случая. Если же рассматривать только случай кэширования самим сайтом, то временное отключение кэша тоже весьма неудобно. Например, если сайт работает на движке WordPress (а мне, как правило, именно с такими приходится сталкиваться), то приходится изменять конфигурационный файл, который необходимо обновлять через FTP . А стоит ли оно того?

    Zigzag, вас тоже, к сожалению, не понял, как и Александра. Покажите, плиз, конкретный пример по моему файлу стилей (указал выше).

  3. 3 ноября 2007 г. в 14:20

    Хм, а у меня Memory cache и Disk cache отключены и ничего не кешируется :)

  4. 3 ноября 2007 г. в 14:23

    Neutrino, это, конечно, хорошо, если есть безлимитка, но у меня пока обратная ситуация, поэтому каждый килобайт на счету :).

  5. Zigzag
    3 ноября 2007 г. в 17:46

    http://habrahabr.ru/blog/webdev/26299.html#comment392853
    вот тут про игру с кэшированием css

  6. 3 ноября 2007 г. в 18:44

    Здорово! Теперь узнал, что это за штука такая :). Очень полезная вещь. Спасибо, что просветили ;).

    Однако, все-таки способ с добавлением к файлу стилей “?1” пригодится, когда необходимо сбросить кэш у всех читателей сайта, а то, что я описал в статье – это частный случай, который мне будет удобен.

    1. Александр
      28 июня 2012 г. в 13:34 / ответ на коммент Dimox

      а лучше к “?″ добавить функцию php echo rand(1, 35);

  7. DeadLy
    6 ноября 2007 г. в 10:38

    сделай добавление “?123546” только для администратора и всё =)

  8. 6 ноября 2007 г. в 11:35

    DeadLy, см. мой предыдущий комментарий.

  9. 1 декабря 2007 г. в 13:58

    Отлично для больших и грузных сайтов.
    Я, месяца два назад, написал расширение для фаерфокса. Но это решение гораздо легче, и кроссбраузерно :)

  10. 7 декабря 2007 г. в 17:41

    А ctrl+R не катит? :)

  11. 7 декабря 2007 г. в 19:49

    Нет, не катит. Ctrl+R не всегда обновляет файл стилей. Много раз с этим сталкивался.

    За весь период пользования этой штукой (после того, как я написал этот пост), я еще ни разу не усомнился в ее полезности.

  12. XAMelleOH
    10 декабря 2007 г. в 17:14

    А по моему Ctrl + R катит ВСЕГДА и во ВСЕХ браузерах.

    Пока еще ниразу у меня не было такого чтобы эта комбинация клавиш не перезагружала CSS. Так что мне кажется Вы что-то путаете….

  13. 10 декабря 2007 г. в 22:54

    Разве назначение комбанации Ctrl + R и клавиши F5 разное? Обе служат для обновления страницы. Я пользуюсь F5.

  14. XAMelleOH
    10 декабря 2007 г. в 23:20

    На самом деле Ctrl+R это обновление страницы без использования кеша ( по крайней мере я всегда пользуюсь именно в таком значении, и никогда меня эта комбинация не подводила).

    В принципе вопрос дискуссионный. На просторах инет разного рода инфа. Оф. документацию нужно искать :)

  15. 10 декабря 2007 г. в 23:39

    Да, действительно дискуссионый вопрос :). Я Оперой пользуюсь и всегда считал, что эти комбинации клавиш равнозначны. Было бы хорошо, если окажется, что на самом деле все именно так, как вы говорите.

  16. XAMelleOH
    10 декабря 2007 г. в 23:48

    Я тоже пользуюсь оперой уже не один год. Хотя эту комбинацию использую во всех браузерах, и, как я уже говорил, ни разу не было такого чтобы страница не обновилась с новыми данными.
    Понаблюдайте за этим сочетанием. Думаю будете довольны :)

  17. Alex Mayhem
    16 января 2009 г. в 15:13

    Свой блог отлаживаю локально – так проще. Там выставил … .style.css? и не парюсь с кешированием.

  18. miha_conan
    19 июля 2009 г. в 21:31

    Ctrl + F5 – полная перезагрузка ВСЕЙ страницы, включая кешированные элементы…

  19. 27 января 2010 г. в 10:30

    Спасибо огромное за совет, я блин весь инет облазил. Все попробовал и кеш вручную удалял, че только не делал.

  20. Avtop
    28 апреля 2011 г. в 00:36

    ооооо! спасибо!
    полезная штучка =)
    примного благодарен! сразу фичу пустил в дело!

Ваш комментарий

Жирный текст

Ссылка

Цитата

Внутристрочный код

CSS-код

HTML-код

JavaScript-код

PHP-код