IE8 не может отобразить страницу полностью - PullRequest
0 голосов
/ 11 января 2010

Когда я открываю мой проект , отображаются только фон и изображение не найденного элемента, в то время как страница имеет 100% строгость xhtml 1.1 Инструменты разработчика показывают, что IE прекращает рендеринг после логотипа SVG ... Firefox работает как надо. Черт возьми, IE!

Ответы [ 2 ]

1 голос
/ 11 января 2010

Камиэль прав: вы не можете использовать самозакрывающийся тег XML в IE. В любом случае, поскольку IE не может отобразить SVG, вам все равно нужно будет включить некоторый запасной контент, например изображение, внутри объекта.

Я бы посоветовал не использовать подход sniff-and-serve-XHTML-as-XML-or-HTML, который вы используете в данный момент. Там нет никакой пользы для этого; вы будете сталкиваться с такими странными проблемами совместимости, как эта, поскольку ваши документы обрабатываются в разных контекстах, стилях и DOM. Более того, заголовок Vary: Accept, который вы должны использовать в ответе, когда вы делаете это, делает кэширование намного менее эффективным в IE. В любом случае W3 специально не разрешает XHTML-as-text / html для документов XHTML 1.1.

Либо сделайте все возможное, чтобы обслуживать только XHTML 1.1 (жертвуя совместимостью с IE), либо продолжайте предоставлять XHTML 1.0 Strict контент в виде текста / html всем желающим, соблюдая рекомендации по совместимости .

1 голос
/ 11 января 2010

Попробуйте не закрывать тег «object» самостоятельно.

<object data="/images/Logo_header.svg" type="image/svg+xml"></object>

вместо

<object data="/images/Logo_header.svg" type="image/svg+xml" />

Не уверен, если это ошибка, или FF изящно восстанавливается. Это допустимый XML, только если вы также обслуживаете свою страницу как XML, а вы - нет. Вы используете 'text / html' вместо 'application / xhtml + xml'.

...