ChatGPT解决这个技术问题 Extra ChatGPT

嵌入字体的 SVG 图像的正确 mime 类型

这是通常的 SVG mime 类型:

image/svg+xml

而且效果很好。但是,当嵌入 SVG 字体时,chrome 会告诉您 mime 类型不正确,显然是因为您返回的是字体而不是图像。

有没有通用的 mime 类型?铬错了吗? application/svg+xml 是否以某种方式被接受?

我想这仍然是 HTML5 中的灰色区域,但这里有人可能知道。


E
Erik Dahlström

SVG 只有 one registered mediatype,这就是您列出的 image/svg+xml。当然,您也可以将 SVG 作为 XML 提供,尽管如果您这样做,浏览器在某些情况下的行为往往会有所不同,例如,我见过在 CSS 背景中使用的 SVG 无法显示的情况,除非使用 image/svg+xml 媒体类型提供。


我认为警告是为了纯度,目前没有像 font/svg+xml 或类似的注册媒体类型(理论上,只要 svg 内容正确,任何以 +xml 结尾的媒体类型都应该有效)。如果 Chrome(或 webkittens)想要为 svg 字体推送新的媒体类型,我还没有在 www-svg 邮件列表上看到这样的请求。
作为现在阅读此链的任何人的仅供参考 - 在提供具有“image/svg+xml”mimetype 的 SVG 字体时,Chrome 似乎不再对 mimetype 发出警告
我有一个使用 SVG 背景的 google chrome 扩展程序。从 Chrome 38 开始,背景突然坏了,现在我必须发布一个新版本来解决这个问题(不知道怎么做,这就是我在这里的原因!)
@AlexStack 听起来与此答案无关,请改为发布一个新问题,或者更好的是 - 在 crbug.com 提交一个带有完整测试用例的错误报告。
@ErikDahlström:基于 Presto 的 Opera 不会渲染带有图像 mime 类型的 ꜱᴠɢ 字体。