Лучший способ разместить SVG-контент в HTML

Из моего исследования я понимаю, что есть три способа для размещения файла SVG внутри HTML:

с использованием встраивания :

<embed src="plot1.svg" width="500" height="320" type="image/svg+xml" />


с использованием объекта :

<object data="plot1.svg" width="500" height="320" type="image/svg+xml" />


с использованием iframe :

<iframe src="plot1.svg" width="500" height="320"> </iframe>


Я экспериментировал со всеми тремя на испытательной установке (встроенный сервер разработки django, рендеринг страниц в Firefox 3.6). В этой, очевидно, стерильной среде, я не заметил никакой разницы между производительностью или разрешением трех - w / r / t.

Мой вопрос заключается в том, лучше ли один из них, чем два других, и если да, который из. Ответ, конечно, может зависеть от фактов, которые я пытался ограничить тем, что имеет отношение:

Мы часто отображаем данные (например, временные ряды) на нашем веб-сайте, обычно созданные в ответ на какое-либо действие пользователя; на основе этого действия пользователя выполняется вызов базы данных, возвращаемые данные обрабатываются и отправляются механизму построения графиков, который отображает статическое изображение, которое затем встраивается в страницу - очень стандартный материал.

Это отлично работает. , но я хотел бы добавить к этим диаграммам некоторые интерактивные функции (например, всплывающие подсказки, гиперссылки на метки осей, выделение группы точек на графике). Некоторые диаграммы довольно сложны (например, многопанельное кондиционирование), и я не нашел библиотеки диаграмм javascript, которая включала бы эти функции. В конце концов я решил использовать ту же библиотеку построения графиков (Lattice в R), но визуализировать каждую диаграмму в svg, а затем добавить функции взаимодействия с пользователем на этапе постобработки, который состоит, по сути, из функций javascript, которые напрямую управляют XML.

23
задан doug 14 June 2013 в 14:40
поделиться