Ответ 1
Вы можете использовать следующий подход:
.button {
background: url(../Images/button.png?v=1234);
}
Есть ли способ убедиться, что последнее обновленное фоновое изображение появилось в последней версии на всех браузерах (а не на старой версии, хранящейся в кеше)?
Это должно быть решение, не затрагивающее строку кода, вызывающего CSS (я мог бы поставить вопросительный знак и номер версии после имени файла css, например: <link href="styles.css?v=2" rel="stylesheet" type="text/css"/>
, но в этом случае я не имеют доступ к этой части кода)
Вы можете использовать следующий подход:
.button {
background: url(../Images/button.png?v=1234);
}
Вы можете добавить другое правило CSS после другого CSS, которое отменяет правила, загружающие изображение, и использует изображение с добавленным номером версии.
CSS-правила, загруженные позже, имеют более высокий приоритет, поэтому вы можете использовать тот же селектор, что и в основном CSS, и он переопределит его.
Если вы не можете этого сделать, тогда вы ввернуты. Вы должны изменить URL загружаемого изображения, чтобы получить новое изображение.
Немногие вещи, которые мне нравятся здесь
Все, что вам нужно сделать, это изменить URL.
Хотя вы изменили таблицу стилей CSS, вам нужно обновить HTML-ссылку для CSS.
background: url(../Images/button.png?v=1234);
Пример: http://www.site.com/css/style.css
до http://www.site.com/css/style.css?ver=002
<link rel="stylesheet" href="css/style.css?ver=002" type="text/css" />
Вы можете добавить Expires
в htaccess
, но если изображение действительно велико, я бы посоветовал это сделать. Как вы просите без CSS, попробуйте:
<Files "your_bg.jpg">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</Files>