2012-02-16 20 views
8

Kilka razy otworzyłem pliki SVG znajdujące się w różnych witrynach za pośrednictwem przeglądarki i zostały one wyświetlone jako obrazy.
Teraz kopiuję ten sam SVG, przesyłam go do zdalnego hosta, a zarówno Google Chrome, jak i Firefox renderują kod XML.
W jaki sposób przeglądarki decydują, czy wyświetlić obraz, czy kod XML?Otwieranie SVG w przeglądarce renderuje kod XML zamiast obrazu

+0

Zwykle zadaniem serwera jest dodanie odpowiedniego nagłówka, aby przeglądarka znała typ pliku. Z jakiego serwera korzystasz? – madth3

+0

Jeśli mam rację i jest to problem z konfiguracją serwera, to tutaj jest offtop i powinno być łatwo odpowiedzieć na pytanie o odpowiednią dokumentację serwera. – madth3

+0

Apache (teraz komentarz jest wystarczająco długi, aby go opublikować) – sabof

Odpowiedz

2

Musisz skonfigurować swój serwer, aby wysyłać Ci pliki svg z nagłówkiem Content-Type: image/svg+xml. Here jest przykładem, jak to zrobić z Apache.

+0

Czy ta konfiguracja treści jest również wymagana dla innych typów treści, czy tylko dla SVG? To po prostu nie jest poważne – sabof

+0

Apache ma kilka typów MIME już skonfigurowanych, ale oczywiście nie wszystkie. – madth3

+0

@sabof to zależy od oprogramowania serwera. Apache zazwyczaj przesyła obrazy SVG (i większość innych typów treści) z prawym nagłówkiem. Czy Twoje rozszerzenie pliku 'svg'? Ewentualnie twój serwer jest źle skonfigurowany. – copy

10

Co do ostatniego pytania: Jak przeglądarki decydują, czy wyświetlić obraz, czy kod XML?

Odpowiedź dotyczy przestrzeni nazw XML. Przestrzeń nazw XML określona w znaczniku XML informuje użytkownika o sposobie obsługi znaczników. Jeśli więc masz atrybut <svg> bez atrybutu xmlns="http://www.w3.org/2000/svg", przeglądarka wyświetli tekst, a nie grafikę wektorową renderowaną przez SVG.

+0

To jest inny element układanki! – EoghanM

Powiązane problemy