Как правильно подать SVG-файл для использования в качестве фонового изображения в IE9?

#svg #gradient

#svg #градиент

Вопрос:

Я пытаюсь использовать SVG-фон вместо градиента CSS3 в IE9 (который не поддерживает CSS3 gradient). Я протестировал его локально, и он работает как мечта. Однако, когда я загружаю эти изменения на текущий сайт, это не работает. Я проверил, что SVG-файл находится на сервере в его неповрежденном виде.

Вот файл:http://www.shmax.com/css/record-box-gradient.svg

И вот простая тестовая страница, где она используется в качестве фона для div:http://www.shmax.com/gradient.html ?DBGSESSID= -1

Просмотрите страницу как в Chrome, так и в IE9, и вы заметите, что она отображается в Chrome, но не в IE9. Как ни странно, это работает в IE9, когда я просматриваю его на своем локальном тестовом компьютере.

Одна вещь, которую я заметил, это то, что когда я просматриваю заголовки для этого ресурса в Fiddler, там написано «Транспортное соединение: закрыть». Это что-нибудь значит? Это что-то, что мне нужно исправить в моем .htaccess?

Спасибо за помощь, ребята.

Комментарии:

1. Я не вижу никакой разницы между Chrome11 и IE9. Ну … на заднем плане заголовка в Chrome есть графика. Это то, что вы имеете в виду?

2. Я даже не вижу сетевого запроса, выполняемого Chrome для «record-box-gradient.svg». Пожалуйста, предоставьте сокращенный тестовый пример, который делает очевидным, что происходит.

3. Достаточно справедливо, Phrogz, отличная идея, спасибо. Я отредактировал свой исходный пост, и теперь он ссылается на простую тестовую страницу со всеми остальными материалами, которые не нужны. Пожалуйста, посмотрим, что вы думаете!

Ответ №1:

Ваша простая тестовая страница работает для меня в IE9; я вижу градиент на заднем плане div.

Попробуйте это:

  1. Нажмите F12, чтобы открыть инструменты разработчика

  2. Что такое «Режим документа» в «строке меню» инструментов? Если вы установите для него значение «Стандарты IE9», вы увидите градиент?

    Инструменты разработчика IE9

  3. Перейдите на вкладку Сеть для инструментов разработчика, нажмите «Начать захват», перезагрузите тестовую страницу, а затем нажмите «Остановить захват». Видите ли вы запрос на /css/record-box-gradient.svg в URL-адресах? Это либо статус 200, либо 304?

    Сетевая вкладка инструментов разработчика IE9

Комментарии:

1. У меня был правильный режим doc, и я видел 304. Я десятки раз очищал кэш через диалоговое окно «параметры», но на этот раз я сделал это с помощью кнопки «Очистить» в инструментах разработки, и он сразу начал работать. Большое спасибо за помощь.