2012-02-16 7 views
8

Più volte ho aperto file SVG situati in vari siti tramite un browser e sono stati visualizzati come immagini.
Ora, copio questo stesso SVG, lo carico su un host remoto e sia Google Chrome che Firefox eseguono il rendering del codice XML.
In che modo i browser determinano se mostrare un'immagine o un codice XML?L'apertura di un file SVG in un browser rende il codice XML anziché l'immagine

+0

Normalmente, il server lavora per aggiungere un'intestazione appropriata in modo che il browser conosca il tipo di file. Che server stai usando? – madth3

+0

Se sono corretto e questo è un problema di configurazione del server, quindi è offtopic qui e dovrebbe essere facile rispondere alla documentazione del server corrispondente. – madth3

+0

Apache (Ora il commento è abbastanza lungo per essere pubblicato) – sabof

risposta

2

È necessario configurare il server per l'invio di file svg con intestazione Content-Type: image/svg+xml. Here è un esempio su come farlo con Apache.

+0

Questa configurazione del tipo di contenuto è necessaria anche per altri tipi di contenuto o solo per SVG? Questo non è un problema serio – sabof

+0

Apache ha diversi tipi di mime già configurati ma, ovviamente, non tutti. – madth3

+0

@sabof dipende dal software del server. Apache solitamente invia immagini SVG (e molti altri tipi di contenuto) con l'intestazione giusta. La tua estensione è 'svg'? O possibilmente il tuo server non è configurato correttamente. – copy

10

Come per la tua ultima domanda: in che modo i browser determinano se mostrare un'immagine o un codice XML?

La risposta si trova nello spazio dei nomi XML. Lo spazio dei nomi XML specificato in un tag XML indica all'agente utente come gestire i tag. Quindi se hai un <svg> senza attributo xmlns="http://www.w3.org/2000/svg" allora il browser mostrerà il testo e non la grafica vettoriale resa da SVG.

+0

Questo è l'altro pezzo del puzzle! – EoghanM

Problemi correlati