отображение svg с помощью тега embed в ie9 - PullRequest
0 голосов
/ 03 апреля 2011

Привет всем, мне просто интересно, есть ли у кого-нибудь опыт отображения svg в ie9 с помощью тега embed.Ниже приведен пример моего кода:

<!DOCTYPE html>
<html><head><title>Example</title></head>
<body>
<embed id="E" height="50%" width="100%" src="example.svg">
</body>
</html>

Прямо сейчас это отображается очень хорошо в Firefox, то есть 8 с плагином Adobe, однако в то время как 9 просто всплывает пустое поле со значком изображения ввверху слева от коробки.У кого-нибудь есть идеи, как можно решить эту проблему?

Ответы [ 2 ]

3 голосов
/ 02 августа 2011

Хотя ваш фрагмент содержит определение HTML5 DocType, существуют и другие факторы, которые в точности влияют на то, как IE9 обрабатывает ваш HTML, например Заголовки ответа HTTP (см. Как Internet Explorer выбирает между режимами документа )

Я думаю, что если вы переведете IE9 в стандартный режим, ваш SVG будет отображаться IE9;чтобы быстро проверить это, просто используйте Developer Tools для управления режимами браузера и документа.

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

1 голос
/ 03 апреля 2011

Я не уверен, что ваш вопрос означает, что вы пытаетесь найти какой-либо способ отобразить SVG в IE9 или, в частности, только с тегом <embed>. Если вам нужен способ отображения SVG в IE9, я рекомендую встроить SVG непосредственно в XHTML5:

<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head> 
  <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
  <title>untitled</title>
  <style type="text/css" media="screen">
    body { background:#eee; margin:1em }
    svg  { background:#fff; display:block; border:1px solid #ccc; width:100%; margin:1em -1px }
  </style>
</head><body>
<svg viewBox="-500 -500 1000 1000" xmlns="http://www.w3.org/2000/svg"  xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" baseProfile="full">
  <!-- SVG content here -->
</svg>
<script type="text/javascript"><![CDATA[
  var svg   = document.getElementsByTagName('svg')[0];
  var svgNS = svg.getAttribute('xmlns');
  // Access/manipulate your SVG here
]]></script>
</body></html>

Если вы хотите проверить эту технику, вот несколько примеров (на моем сайте) использования SVG, которые работают в IE9:

Если это не то, что вы хотите, пожалуйста, уточните, что вам нужно.

...