Поддержка SVG для Internet Explorer 8 и ниже

Я создал анимацию во flash и преобразовал ее в HTML5 с помощью Swiffy.

Я думаю, что это SVG, чтобы отобразить все это; есть ли какой-то JavaScript или трюк, чтобы IE8 и ниже его поддерживали? Моя анимация хорошо работает с Internet Explorer 9.

Спасибо!

Ответ 1

Пока ни один вариант не является идеальным, есть несколько вариантов:

1.) Adobe имеет плагин SVG для IE8 http://www.iegallery.com/en/addons/detail.aspx?id=444

2.) Рафаэля JavaScript Framework позволяет использовать векторную графику в поперечном браузере - http://raphaeljs.com/

3.) Тогда есть проекты с открытым исходным кодом: http://code.google.com/p/svg2vml/ и http://code.google.com/p/svgweb/

4.) Существует возможность отображения флэш-памяти для IE8 и ниже.

5.) Существует возможность изящно деградировать для IE8 и ниже и показать статичное изображение вместо анимации.

Исходя из вашей причины для анимации - я бы рекомендовал 4 или 5.

Ответ 2

Есть два варианта, которые не привязывают вас к конкретным фреймворкам (raphael) или сложным решениям (svgweb):

  • Chrome Frame: если вы собираетесь получить расширение, получите его
  • Растеризация на стороне сервера: отправьте SVG на сервер, inkscape растеризовать до png, отправить его обратно.

Если вы заходите на номер 2 (да, это дерьмовый вариант), и вы хотите использовать интерактивные части и всплывающие подсказки, вам нужно будет использовать невидимые div или метки, которые находятся в HTML поверх отображаемого svg.

Вы можете повторно использовать информацию о расположении из svg, чтобы расположить эти div, чтобы избежать накладных расходов для этой части.

Лучшим вариантом, вероятно, является дипломатическое поощрение их использования реального браузера, но тогда это не всегда возможно для тех, кто живет под управлением неквалифицированного ИТ-отдела;)