Из моего исследования я понимаю, что есть три способа для размещения файла 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.