Я работаю над рисованием фигур в своем веб-приложении ASP.NET. В IE9 и других браузерах я использую SVG, и он отлично работает. В IE8 и ниже я использую VML. Я обнаружил, что IE8 вообще не отображает VML, когда он находится в режиме стандартов IE8 (без использования представления совместимости).
Мой тип документа установлен на <!DOCTYPE html>
. Если я полностью уберу doctype, IE8 перейдет в режим quirks и будет работать нормально, но IE9 затем перейдет в режим quirks его (вместо стандартов IE9) и не отобразит SVG.
Это происходит на тестовой странице, поэтому там нет ничего, кроме формы, содержащей div, содержащий либо элемент <svg>
и его дочерние элементы, либо элементы VML.
Что здесь происходит? Похоже, что мне не нужно менять doctype для разных браузеров, и график репутации на странице пользователя Stack Exchange, похоже, работает одинаково (VML для IE8 и ниже, SVG для всех остальных, doctype HTML5) ...
<!--[if IE 8]> <!doctype ... > <![endif]-->
Я знаю, что это не то, о чем вы спрашиваете, но это может быть альтернативное решение. - person Eruant   schedule 10.07.2012