2009-09-15 10 views
16

Qualcuno sa di una libreria completa per far funzionare SVG con IE (7 e 8 in particolare)?Come rendere SVG compatibile con IE?

Volevo qualcosa di Javascript che potesse essere incluso nella mia pagina web e che convertisse silenziosamente tutto il mio SVG in VML in un modo simile a quello che excanvas fa per Canvas.

risposta

15

Il Raphaël—JavaScript Library può aiutarti.

Raphaël utilizza SVG W3C Recommendation e VML come base per la creazione di grafica e supporta Firefox 3.0+, Safari 3.0+, Opera 9.5+ e Internet Explorer 6.0+.

EDIT:

Ci sono due più JS-librerie che utilizzano VML per rendere SVG in IE:

  • Ample SDK (dove dovrebbe essere possibile integrare facilmente i file SVG esistente)
  • dal Dojo Toolkit
+3

Puoi aprire un svg con questa libreria? – Milhous

+1

Non proprio. di couse è supportato solo un sottoinsieme di svg/vml, quindi non puoi davvero prendere un file svg e "aprirlo" in raphael. Ma il path synatax è lo stesso, quindi in pratica devi copiare tutti i percorsi da svg nel tuo codice javascript (o scrivere qualcosa che lo faccia automaticamente per te). Penso che molte persone semplicemente copino i loro percorsi (semplificati) da inkscape o da altri editor nel codice raphael –

6

Penso che SVGWeb sia la strada da percorrere, anche se è basato su Flash poiché VML non è abbastanza veloce per molte applicazioni.

15

Google's SVG Web fa questo. Secondo il sito web del progetto:

SVG Web è una libreria JavaScript che fornisce supporto per SVG su molti browser, tra cui Internet Explorer, Firefox, e Safari. Utilizzando la libreria più il supporto SVG nativo si può immediatamente raggiungere l'obiettivo ~ 95% della base web esistente installata .

Mentre è descritto come libreria JavaScript richiede anche Flash 9+. Questo di solito non è un problema, ma se sei in un ambiente aziendale con Flash vecchio o senza Flash sulle workstation non funzionerà.

Inoltre, è ancora in Alpha che potrebbe essere un problema, a seconda di quale sia il tuo progetto.

+1

-1 (filosoficamente, non letteralmente) per la soluzione basata su Flash. Flash è una tecnologia proprietaria e indipendente dal mercato. –

+11

Così è IE. La sua unica soluzione per Flash è la soluzione per * open * IE. – voyager

+0

Questo è ancora in fasi alfa. –

2

Adobe fornisce script per rilevare automaticamente, installare e si reindirizzare al tuo sito originale:

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

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

Ho utilizzato questa abbastanza con successo sul mio sito.

+4

L'implementazione 'svg' di Adobe non viene più sviluppata. – voyager

+0

In effetti, penso che abbiano smesso di svilupparlo molto prima che venisse rilasciato IE 8. Se funziona con IE 8, è solo fortuna. –

+0

Funziona in IE8. L'ho provato Lo stanno ancora supportando come download legacy. –

0

Una soluzione più bassa tecnologia sarebbe usare qualcosa come svg_alike (inserisci la notifica di conflitto di interesse qui :)). Controlla il supporto SVG, quindi se non lo trova sostituisce tutte le immagini SVG con PNG.

https://github.com/forwardadvance/svg_alike

si perdono i vantaggi di regolare zoom vettore, e il supporto della retina, ma gli utenti IE8 è improbabile che fare uso di queste caratteristiche in ogni caso.

Il vantaggio è che non è necessario convertire le immagini in JavaScript. Penso che fornisca l'80% del valore per il 5% del lavoro.

Problemi correlati