Изображения таблицы стилей не перезагружаются Firefox или Safari

Переместите записи [] из двойных кавычек, то есть используйте «записи»: []

Вы пытаетесь вставить строку вместо массива

5
задан Frederik Slijkerman 14 October 2008 в 11:14
поделиться

7 ответов

Я просто добавил бы, что querystring оценивает URL изображения. Я обычно просто создаю "номер версии" и увеличиваю его каждый раз изменения образа:

div#news {
  background: url(images/newsitem_background.jpg?v=00001) no-repeat;
  ...
}
8
ответ дан 13 December 2019 в 19:38
поделиться

Для предотвращения такой проблемы я видел, что веб-мастера добавляют номер версии к своим файлам. Таким образом, они загружаются site-look-124.css и newsitem_background-7.jpg.

Не плохое решение, по моему скромному мнению.

2
ответ дан 13 December 2019 в 19:38
поделиться

Проверьте свои HTTP-заголовки на изображениях, которые Вы подаете, а также файл (файлы) CSS.

Если какой-либо из них будет установлен кэшироваться (или отсутствуют), то Вы найдете, что браузер правильно кэширует файл (файлы).

1
ответ дан 13 December 2019 в 19:38
поделиться

Я знаю, что это, вероятно, не то, что Вы хотите услышать, но значительно более вероятно, что Firefox следует стандарту, и IE делает что-то немного нечетное (и Вы просто, оказывается, полагаетесь на него ;)).

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

0
ответ дан 13 December 2019 в 19:38
поделиться

Попытайтесь держать клавишу SHIFT, в то время как Вы нажимаете перезагрузку (или нажимаете F5).

Иначе используйте инструмент, такой как Firebug, чтобы проверить Запрос HTTP / заголовки ответа и наблюдать значения заголовка то кэширование управления. Я никогда не замечал эту проблему. Возможно, Ваш сервер возвращает 304 ответа (не измененный).

0
ответ дан 13 December 2019 в 19:38
поделиться

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

Установите изображение в CSS к PHP или подобном сценарии, который возвращает изображение:

div#news {
  background: #FFFFFF url(images/background.php?name=newsitem) no-repeat;
  ...
}

Затем используйте сценарий для возврата изображения"

<?php
$name = isset($_REQUEST['name']) ? $_REQUEST['name'] : false;
switch($name) {
    case 'newsitem':
        $filename = 'news_item_background.jpg';
    break;
    default:
        $filename = 'common_background.jpg';
    break;
}

header("Content-Type: image/jpeg");
header("Content-Transfer-Encoding: binary");
$fp = fopen($filename , "r");
if ($fp) fpassthru($fp);

Я использую его на своем домашнем сервере для случайного возврата фонового изображения для некоторых моих страниц, и Firefox, кажется, не кэширует их. Можно также сделать некоторый броский stuph с изображениями, если Вам нравится.

0
ответ дан 13 December 2019 в 19:38
поделиться

Еще один быстрый способ обхода (если это в основном происходит во время веб-проектирования) - просмотреть фактическую страницу css в firefox и перезагрузить страницу, а затем, когда вы вернетесь на веб-сайт браузер прочитает текущую страницу css.

конечно, это временное исправление только для веб-дизайнера

0
ответ дан 13 December 2019 в 19:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: