Domanda
Sono un po 'perplesso con questo. Sto rendendo visualizzazioni SVG usando Protovis, una biblioteca JS, e funziona perfettamente in Chrome e Firefox. Risparmio lo SVG reso sul mio server e cercare di ri-renderizzare in una "galleria" vista utilizzando una funzione PHP, e questo non funziona in Firefox. Tutto quello che vedo è il testo in SVG, ma non il formato SVG.
I salvare l'intero contenuto in formato SVG, in questo modo:
<svg height="220" width="880" stroke-width="1.5" stroke="none" fill="none" font-family="sans-serif" font-size="10px"><g transform="translate(30, 10)"><line stroke-width="1"
Ho provato con <object>
ma tutto ciò che fa è pronta Firefox per scaricare un plugin non riesce a trovare.
Funziona in FF4 versione beta, ma non riesco a capire perché non funzionerà anche in Firefox 3.6. E 'questo qualcosa che dovrei rinunciare a? Si può vedere una demo qui:
http://www.rioleo.org/protoviewer (clicca su "galleria")
Grazie ancora una volta!
Soluzione
In linea SVG funziona solo in Firefox in due situazioni:
- Firefox ha sperimentale HTML5 parser abilitato (cioè. si sta utilizzando un 4,0 notturno)
- Il documento viene analizzato non è HTML, ma XHTML (
Content-type: application/xhtml+xml
)
L'approccio object
suggerito da Rob dovrebbe funzionare, a patto che il file in formato SVG separata è in arrivo dal server con Content-type: image/svg+xml
e si utilizza la sintassi corretta:
<object data="foo.svg" type="image/svg+xml" width="400" height="300">
Damiano Cugley 'SVG: oggetto o incorporare?' per i dettagli di alcune altre opzioni, o utilizzare SVGWeb .
Altri suggerimenti
Assicurarsi che si sta utilizzando gli attributi corretti con l'elemento oggetto e il tag di chiusura:
<object data="yourimage.svg"></object>
Questo esempio può essere utile per voi, spiegazione . Supporto il rendering SVG sul tempo di caricamento e il testo MIME / html è una funzionalità supportata di ItsNat Java framework web, in ogni caso è stato ispirato questo codice JS , quest'ultimo può essere utile per voi nel vostro contesto (PHP).