ประเภท mime ที่เหมาะสมสำหรับภาพ SVG ที่มีแบบอักษรฝังอยู่


168

นี่คือประเภท mime SVG ปกติ:

image/svg+xml

และมันใช้งานได้ดี อย่างไรก็ตามเมื่อฝังแบบอักษร SVG โครเมี่ยมจะบอกคุณว่าประเภท mime นั้นไม่ถูกต้องเพราะคุณส่งคืนแบบอักษรแทนภาพ

มีประเภท mime สากลหรือไม่? ผิดหรือเปล่า? เป็นที่application/svg+xmlยอมรับอย่างใด

ฉันเดาว่านี่ยังคงเป็นพื้นที่สีเทาใน HTML5 แต่บางคนที่นี่อาจรู้จัก

คำตอบ:


213

มีเพียงเป็นหนึ่ง mediatype ลงทะเบียนสำหรับ SVG image/svg+xmlและที่ที่คุณอยู่ในรายการ แน่นอนว่าคุณสามารถใช้ SVG เป็น XML ได้เช่นกันแม้ว่าเบราว์เซอร์มักจะมีพฤติกรรมที่แตกต่างออกไปในบางสถานการณ์ถ้าคุณทำตัวอย่างเช่นฉันเคยเห็นกรณีที่ SVG ที่ใช้ในพื้นหลัง CSS ไม่สามารถแสดงimage/svg+xmlได้


1
ผมถือว่าคำเตือนจะมีเพื่อประโยชน์ของความบริสุทธิ์ไม่มี mediatype ลงทะเบียนเหมือนfont/svg+xmlหรือคล้ายกันในขณะนี้อย่างไร (ในทางทฤษฎี mediatype ใด ๆ ที่ลงท้ายด้วย+xmlควรจะทำงานตราบใดที่เนื้อหา SVG ถูกต้อง) หาก Chrome (หรือ webkittens) ต้องการที่จะผลักดัน mediatype ใหม่สำหรับแบบอักษร svg ฉันยังไม่เห็นคำขอดังกล่าวในรายการส่งเมลของ www-svg เลย
Erik Dahlström

2
ในฐานะที่เป็น FYI ให้กับทุกคนที่อ่านเชนนี้ตอนนี้ดูเหมือน Chrome จะไม่เตือนสำหรับ mimetype อีกต่อไปเมื่อส่งฟอนต์ SVG ด้วย 'image / svg + xml' mimetype
Robert Petz

ฉันมีส่วนขยายของ Google chrome ที่ใช้พื้นหลัง SVG ในฐานะของ Chrome 38 พื้นหลังทั้งหมดเกิดขึ้นกะทันหันและตอนนี้ฉันต้องปล่อยรุ่นใหม่เพื่อแก้ไขปัญหานั้น (ไม่รู้เลยว่าทำไมฉันถึงมาที่นี่!)
AlexStack

@AlexStack ที่ฟังดูไม่เกี่ยวข้องกับคำตอบนี้กรุณาโพสต์คำถามใหม่แทนหรือดีกว่ายัง - ยื่นรายงานข้อผิดพลาดที่crbug.comพร้อมตัวอย่างทดสอบที่สมบูรณ์
Erik Dahlström

@ ErikDahlström: Opera ที่ใช้ Presto จะไม่แสดงผลแบบอักษร served ที่ให้บริการด้วยประเภท mime ของภาพ
2284570
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.