2009-09-15 24 views
16

¿Alguien sabe de una biblioteca completa para hacer que SVG trabaje con IE (7 y 8 en particular)?¿Cómo hacer que SVG funcione con IE?

Quería algo que pudiera ser incluido en mi página web y que convertiría silenciosamente todo mi SVG a VML de una manera similar a lo que Excanvas hace por Canvas.

Respuesta

15

El Raphaël—JavaScript Library puede ayudarlo por ahí.

Raphaël utiliza la Recomendación SVG W3C y VML como base para crear gráficos y es compatible con Firefox 3.0+, Safari 3.0+, Opera 9.5+ e Internet Explorer 6.0+.

EDIT:

Hay dos más js-bibliotecas que utilizan VML para prestar svgs en IE:

  • Ample SDK (donde debería ser posible integrar fácilmente archivos SVG existente)
  • DojoX GFX de Dojo Toolkit
+3

¿Puedes abrir una svg con esta biblioteca? – Milhous

+1

No realmente. Por supuesto, solo se admite un subconjunto de svg/vml, por lo que realmente no se puede tomar un archivo svg y "abrirlo" en raphael. Pero el path synatax es el mismo, así que básicamente tienes que copiar todas las rutas desde svg a tu código javascript (o escribir algo que lo haga automáticamente). Creo que la mayoría de la gente simplemente copia sus rutas (simplificadas) de inkscape u otros editores en el código raphael –

6

Creo que SVGWeb es el camino a seguir, incluso si está basado en Flash ya que VML está lejos de ser lo suficientemente rápido para muchas aplicaciones.

15

Google's SVG Web hace esto. De acuerdo con la página web del proyecto:

SVG Web es una biblioteca JavaScript, que proporciona soporte SVG en muchos navegadores, incluyendo Internet Explorer, Firefox, y Safari. Usando la biblioteca más soporte SVG nativo puede instantáneamente objetivo ~ 95% de la base web instalada existente .

Si bien se describe como una biblioteca JavaScript, también requiere Flash 9+. Esto no suele ser un problema, pero si estás en un entorno corporativo con Flash antiguo o sin Flash en las estaciones de trabajo, no funcionará.

Además, todavía está en Alpha, lo que podría ser un problema, dependiendo de cuál sea su proyecto.

+1

-1 (filosóficamente, no literalmente) para la solución basada en Flash. Flash es una tecnología patentada de control de proveedores. –

+11

Así es IE. Su único ajuste para Flash es la solución para * abrir * IE. – voyager

+0

Esto todavía está en etapas alfa. –

2

Adobe proporciona scripts para detectar de manera automática, instalar y redirigir de nuevo a su sitio original:

http://support.adobe.com/devsup/devsup.nsf/docs/51780.htm

http://www.adobe.com/svg/workflow/autoinstall.html

He estado usando este con bastante éxito en mi sitio.

+4

La implementación de 'svg' de Adobe ya no se está desarrollando. – voyager

+0

De hecho, creo que dejaron de desarrollarlo mucho antes de que se lanzara IE 8. Si funciona con IE 8, es solo suerte. –

+0

Funciona en IE8. Lo he probado Todavía lo están apoyando como una descarga heredada. –

0

Una solución más de baja tecnología sería usar algo como svg_alike (insertar notificación de conflicto de intereses aquí :)). Comprueba el soporte de SVG, luego, si no lo encuentra, reemplaza todas las imágenes SVG con PNG.

https://github.com/forwardadvance/svg_alike

Se pierden las ventajas de zoom del vector lisa, y el apoyo retina, pero los usuarios de IE8 es poco probable que hacer uso de estas características de todos modos.

La ventaja es que no tiene que convertir sus imágenes en JavaScript. Creo que proporciona el 80% del valor del 5% del trabajo.

Cuestiones relacionadas