2011-11-08 5 views
1

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

Вот краткий пример, который работает в большинстве браузеров, но показывается пустым в IE9.

<html><body> 
    <iframe width="640" height="480"  src="http://www.croczilla.com/bits_and_pieces/svg/samples/butterfly/butterfly.svg"/> 
    </body></html> 

любые идеи? Благодарю.

+0

Этот пример отлично подходит для меня? –

+0

@ Dunc ссылается на мой ответ. Возможно, ваш IE9 отображает страницу в стандартном режиме. повезло тебе. :) –

ответ

2

IE9 требует заявлений

<!DOCTYPE html> 

в начале для отображения документа в стандартном режиме в противном случае он был падающим обратно в режиме совместимости.

Теперь можно поместить его либо в верхней части выше примере, который я дал, что делает его:

<!DOCTYPE html> 
<html><body> 
<iframe width="640" height="480"  src="http://www.croczilla.com/bits_and_pieces/svg/samples/butterfly/butterfly.svg"/> 
</body></html> 

Но так как пользователи будут вложения IFRAME в своих страницах &, очевидно, нельзя полагаться на своих страницах всегда имеющий doctype. поэтому лучшим решением было бы добавить «» в iframe. Далее я хотел бы указать, что несколько доктринов не будут влиять на рендеринг страницы, поскольку doctype, определенный внутри iframe, применим только к iframe.

Я хотел бы, чтобы IE9 обнаружил эти функции на странице, как и другие браузеры, и правильно отобразил их в будущем.

Смежные вопросы