Deprecated: Function get_magic_quotes_runtime() is deprecated in /sites/starcoms.ru/iwrite/system/core.php on line 2

Deprecated: Function get_magic_quotes_gpc() is deprecated in /sites/starcoms.ru/iwrite/system/core.php on line 2
STARБЛОГ: 2 заметки с тегом css
2 заметки с тегом

css

Динамическая версия CSS и JS

Периодически приходится немного править каскадные таблицы стилей и скрипты на разных проектах. До сих пор я использовал следующее решение:

<link rel="stylesheet" href="/styles/main.css?<?php echo time(); ?>" />
<script src="/js/main.js?<?php echo time(); ?>"></script>

Где php-вставка подставляла текущее время и получался следующий код:

<link rel="stylesheet" href="/styles/main.css?1401823964" />
<script src="/js/main.js?1401823964"></script>

Это позволяло автоматически обновлять в браузере CSS и JS файлы с которыми работаю (борьба с кешированными версиями обновляемых файлов), создавая «разные» версии файлов, при каждой перезагрузке страницы. Но правильно ли так делать? Ведь даже если я ничего не менял, все равно браузер грузил все по новому.

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

  1. Берётся время последнего изменения файла.
  2. Сравнивается со временем указанным как версия файла (или с хранимыми где-то последними версиями файлов, которые используются).
  3. Если они равны, то ничего не меняется.
  4. Если не равны, то версия файла меняется на время последнего изменения файла (или старый файл заменяется новым).

Стоит ли вообще на этом заостряться? Или лучше воспользоваться одним из решений предложенных в дополнительных материалах или предложенным выше (вторая ссылка вроде предлагает решение по этому алгоритму)?

Дополнительные материалы

Умное Кеширование и Версионность в Javascript/CSS
(en) Automatic merging and versioning of CSS/JS files with PHP
(en) Automatic versioning of CSS, JavaScript and Images
(en) Simple CSS/JS Concatenation and Versioning with PHP
(en) Automating JS and CSS Versioning
(en) Make your pages load faster by combining and compressing javascript and css files

Сказ о префиксах CSS3

Ох уж мне эта кроссбраузерность, а особенно прописывание префиксов. (К слову сказать, я частенько вообще про это забываю!) Соберу-ка я сейчас все, что с ними связанно, в этой публикации. Мне пригодится, и, глядишь, еще кому.

Препроцессоры поддерживающие префиксы для Coda 2

SASS
LESS

Скрипты создающие префиксы

-prefix-free (2 kb)
CSS 3 Finalize (7.395 kb)
cssFx (13.309 kb)

Генераторы добавляющие префиксы

CSSPrefixer
-Prefix-MyCSS

Полезные статьи про префиксы

Расставляем префиксы и сжимаем CSS автоматически с Ruseller.com
CSS3: жизнь без префиксов с Хабра