Właściwy typ MIME dla obrazów SVG z osadzonymi czcionkami


168

To jest zwykły typ MIME SVG:

image/svg+xml

I działa świetnie. Jednak podczas osadzania czcionki SVG chrome informuje, że typ MIME jest nieprawidłowy, oczywiście dlatego, że zamiast obrazu zwracasz czcionkę.

Czy istnieje uniwersalny typ mime? chrom jest źle? jest application/svg+xmljakoś akceptowane?

Wydaje mi się, że jest to nadal szara strefa w HTML5, ale ktoś tutaj może wiedzieć.

Odpowiedzi:


213

Jest tylko jeden zarejestrowany MediaType dla SVG i to jest ten, który na liście, image/svg+xml. Możesz oczywiście obsługiwać SVG również jako XML, chociaż przeglądarki zachowują się inaczej w niektórych sytuacjach, na przykład widziałem przypadki, w których SVG używany w CSS tła nie wyświetlał się, chyba że jest obsługiwany z image/svg+xmltypem mediacji.


1
Zakładam, że ostrzeżenie istnieje ze względu na czystość, font/svg+xmljednak w tej chwili nie ma zarejestrowanego typu mediatu, takiego jak lub podobnego (teoretycznie każdy typ mediaty kończący się na +xmlpowinien działać, o ile zawartość svg jest poprawna). Jeśli Chrome (lub webkittens) chcą naciskać na nowy typ nośnika tylko dla czcionek svg, nie widziałem jeszcze takiej prośby na liście mailingowej www-svg.
Erik Dahlström

2
Jako informacja do Twojej wiadomości dla każdego, kto teraz czyta ten łańcuch - wygląda na to, że Chrome nie wyświetla już ostrzeżenia o typie MIME podczas dostarczania czcionki SVG z typem MIME „image / svg + xml”
Robert Petz

Mam rozszerzenie Google Chrome, które używa tła SVG. Począwszy od Chrome 38, tła nagle się zepsuły i teraz muszę wypuścić nową wersję, aby to naprawić (nie mam pojęcia, dlaczego tu jestem!)
AlexStack

@AlexStack, który wydaje się niezwiązany z tą odpowiedzią, zamiast tego zadaj nowe pytanie lub jeszcze lepiej - prześlij zgłoszenie błędu na crbug.com z pełnym testem.
Erik Dahlström

@ ErikDahlström: Opera oparta na Presto nie renderuje ꜱᴠɢ czcionek obsługiwanych z obrazem typu MIME.
user2284570
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.