Kiểu mime phải cho hình ảnh SVG với phông chữ được nhúng


168

Đây là loại mime SVG thông thường:

image/svg+xml

Và nó hoạt động rất tốt. Tuy nhiên, khi nhúng phông chữ SVG, chrome cho bạn biết loại mime không chính xác, rõ ràng vì bạn trả lại một phông chữ thay vì hình ảnh.

Có bất kỳ loại mime phổ quát? là chrome sai? được application/svg+xmlchấp nhận bằng cách nào đó?

Tôi đoán đây vẫn là một khu vực màu xám trong HTML5 nhưng ai đó ở đây có thể biết.

Câu trả lời:


213

Chỉ có một loại mediatype đã đăng ký cho SVG, và đó là loại bạn đã liệt kê , image/svg+xml. Tất nhiên, bạn cũng có thể phục vụ SVG dưới dạng XML, mặc dù các trình duyệt có xu hướng hành xử khác nhau trong một số trường hợp nếu bạn làm như vậy, ví dụ tôi đã thấy các trường hợp mà SVG được sử dụng trong nền CSS không hiển thị trừ khi được phục vụ với kiểu image/svg+xmlmediatype.


1
Tôi cho rằng cảnh báo là có mục đích thuần túy, hiện tại không có loại mediatype nào được đăng ký giống font/svg+xmlhoặc tương tự (về lý thuyết, bất kỳ loại mediatype nào kết thúc +xmlcũng nên hoạt động miễn là nội dung của Svg là chính xác). Nếu Chrome (hoặc webkittens) muốn tạo ra một loại mediatype mới chỉ dành cho phông chữ svg Tôi chưa thấy yêu cầu như vậy trong danh sách gửi thư www-svg.
Erik Dahlström

2
Là một FYI cho bất cứ ai đọc chuỗi này bây giờ - có vẻ như Chrome không đưa ra cảnh báo nào cho việc bắt chước nữa khi cung cấp phông chữ SVG với mimetype 'image / svg + xml'
Robert Petz

Tôi có một tiện ích mở rộng Google Chrome sử dụng hình nền SVG. Kể từ Chrome 38, nền tảng đột ngột bị phá vỡ và bây giờ tôi phải phát hành một phiên bản mới để khắc phục điều đó (dù thế nào đi nữa, đó là lý do tại sao tôi ở đây!)
AlexStack

@AlexStack nghe có vẻ không liên quan đến câu trả lời này, vui lòng gửi câu hỏi mới thay vào đó hoặc tốt hơn - gửi một bugreport tại crorms.com với một testcase hoàn chỉnh.
Erik Dahlström

@ ErikDahlström: Opera dựa trên Presto không hiển thị ꜱᴠɢ phông chữ được phục vụ với một loại mime hình ảnh.
dùng2284570
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.