De mi investigación, yo entiendo que hay tres maneras de colocar un archivo svg dentro de HTML:

utilizando incrustar:

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

utilizando objeto:

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

utilizando iframe:

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

He probado con los tres en una plataforma de pruebas (django construido-en el dev server, procesamiento de las páginas en Firefox 3.6). En virtud de esto, obviamente, ambiente estéril, no he notado ninguna diferencia entre los tres, w/r/t es el rendimiento o la resolución.

Mi Pregunta es si uno de estos es mejor que los otros dos, y si es así, que uno. La respuesta podría por supuesto, dependerá de los hechos, que he tratado de limitar a lo que es relevante:

Con frecuencia de visualización de datos (e.g, series de tiempo) en nuestro sitio web, generalmente se crea en respuesta a alguna acción del usuario; sobre la base de que la acción del usuario, se realiza una llamada a una base de datos, los datos obtenidos se analizaron y se envía a la conspiración de motor, lo que hace que una imagen estática que está incrustado en la página–muy estándar cosas.

Esto funciona bien, pero me gustaría añadir algunas características interactivas de estos gráficos (por ejemplo, información sobre herramientas, con hipervínculos etiquetas de los ejes, destacando un grupo de puntos de w/en una parcela). Algunos de los gráficos son bastante sofisticados (por ejemplo, multi-panel acondicionado) y no he encontrado un javascript biblioteca de gráficos que incluye estas características. Finalmente me decidí por usar el mismo trazado de la biblioteca (Celosía en R), pero de representación de cada gráfico svg y, a continuación, agregar el usuario-las características de la interacción en un post-procesamiento de paso, que consiste esencialmente de las funciones de javascript que manipular el XML directamente.

  • Sólo como un FYI, hay varias formas de otros para incluir svg en una página.
  • el <objeto> etiqueta no es auto de cierre debe agregar </object>
InformationsquelleAutor doug | 2010-09-29

2 Comentarios

  1. 12

    <embed> Me gustaría generalmente evitan. Es desaprobado en HTML4, no permitir un retroceso de contenido, y ha tenido una selección de problemas en IE.

    <object> le permitirá incluir retroceso de contenido HTML para navegadores sin soporte de SVG. <iframe> caerá de vuelta a la que le solicita que descargue la .archivo svg. Cual de estas es mejor probablemente depende de la aplicación.

    La otra alternativa, para los navegadores modernos (incluyendo internet explorer desde la versión 9) es servir a su página web como application/xhtml+html e incluyen el SVG elementos en la página.

    • Whoa, es decir, soporta SVG ahora? Nunca pensé que iba a pasar. Es VML todavía demasiado o qué?
    • Bien IE9 está todavía en beta, pero es compatible con el formato SVG (y bastante bien, demasiado). SVG repetitivo no hacer SVG en realidad trabajo hacia abajo para IE6, sólo se hace posible poner en una página sin matar a IE6. VML todavía existe, pero parece ser no deseados legado; MS partió muy mal en IE8, que requieren otro tedioso ronda de soluciones para que la gente lo sigue usando.

Dejar respuesta

Please enter your comment!
Please enter your name here