Inline SVG Контент не отображается в IE Скриншот

Я работаю над миниатюрой, при которой служба берет миниатюрные изображения содержимого HTML в элементе управления IE9 без формы. Все работает гладко с вызовом DrawToBitmap вместе с парой вызовов GDI, но содержимое SVG не отображается. Все остальное, кажется, отображается просто отлично, но без SVG.

Я полагаю, что это как-то связано с тем, как SVG реализован в IE, но я не знаю деталей. Какие-нибудь мысли?

ТИА.

2 ответа

Решение

Ответ пришел от Теда Джонсона из IEBlog:

IE9 не имеет отдельного движка SVG; это все один DOM и конвейер рендеринга. Однако, если ваш документ не находится в режиме документов 9 стандартов, вы не получите никакого контента SVG. Я думаю, по умолчанию, элемент управления WebBrowser в.NET по умолчанию в режиме совместимости. Попробуйте добавить метатег в верхней части HTML-страницы, чтобы включить режим IE9:

<meta http-equiv="X-UA-Compatible" content="IE=9">

Это действительно включило рендеринг SVG как выключатель света.

Вы также можете установить тип документа HTML4 строго или HTML5.

<!DOCTYPE HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

С http://www.seowarp.com/blog/2011/06/svg-scaling-problems-in-ie9-and-other-browsers/:

Прежде чем я начну, я хотел бы отметить, что на моей тестовой странице Internet Explorer 9 отказывался отображать любые мои изображения SVG на базовой странице HTML, пока я не объявил строгие HTML4 или HTML5-типы документов.

Другие вопросы по тегам