我的目标是一些带有 CSS 的 SVG 图像用作一些元素的背景,并遇到一些奇怪的问题。直接转到图像时它工作正常,但是在 CSS 中使用时出现以下错误:
Resource interpreted as Image but transferred with MIME type text/xml
我已将 .htaccess 文件添加到使用以下代码提供图像的目录中,但它没有帮助:
AddType image/svg+xml svg
建议?
可能的解释是,以前 HTTP 标头指定了错误的内容类型,现在您已修复它,某些软件使用了缓存信息。(在使用 XML 文件时并不罕见。)检查的简单方法是创建 .svg 文件的副本并在 CSS 中使用新名称引用它。
当我测试您在简单background
规则中提供的 URL 时,图像在 Firefox、IE、Chrome、Safari 上显示没有问题(在 Win 7 上测试)。但是当我测试它以便Content-Type: text/xml
由服务器发送时,所有浏览器根本不显示背景图像;没有显示错误信息。所以我想你用一些特殊的浏览器或特殊的设置进行了测试。
更新 .htaccess 对我不起作用。我添加了以下行/etc/mime.types
并重新启动了 apache 服务器,清除了缓存并且它工作了。
image/svg+xml svg