Html 为什么这个SVG可以在浏览器中原始查看,但不能在网页中查看?

Html 为什么这个SVG可以在浏览器中原始查看,但不能在网页中查看?,html,http,svg,http-headers,content-type,Html,Http,Svg,Http Headers,Content Type,可以在我的浏览器窗口中正确查看 但是,当我尝试将其用作网页中的图像时(在我的live站点和JSFIDLE中尝试过),它不会显示: 以下是我如何使用普通的旧HTML完成的。我使用SO链接中显示的答案来解决这个问题 测试页 当我从服务器加载svg时,Content-type响应头当前为Content-type:text/xml,这是svg的不正确MIME类型。尝试将内容类型标题更改为图像/svg+xml 从您在评论中发布的要点来看,您可以通过将第15行更改为: '.svg' : 'text/

可以在我的浏览器窗口中正确查看

但是,当我尝试将其用作网页中的图像时(在我的live站点和JSFIDLE中尝试过),它不会显示:


以下是我如何使用普通的旧HTML完成的。我使用SO链接中显示的答案来解决这个问题


测试页

当我从服务器加载svg时,
Content-type
响应头当前为
Content-type:text/xml
,这是svg的不正确MIME类型。尝试将
内容类型
标题更改为
图像/svg+xml

从您在评论中发布的要点来看,您可以通过将第15行更改为:

'.svg'  : 'text/xml',


我建议不要只更改标记,因为这只是对不正确的HTTP头的短期修复。

您是否尝试过设置MIME类型,以及服务器端正在运行什么?Apache instructions-@Mousey我将向您展示我的服务器如何处理MIME类型。@Mousey这个问题的代码太多了,因为我不知道哪个部分可能有问题,以便
…[snip]…
,因此,这里有一个要点:相关:@TylerH这是一个不寻常的问题,事实上,给出的例子不起作用,一旦找到答案,就可以正常工作。我提供的是一个适用但不完善的MIME类型。我实际上按照您所说的更改了内容类型,并重新加载了服务器,重新加载了禁用缓存的页面-问题没有解决-,但可以肯定,是否可以检查通过javascript提供的内容类型,以确保MIME类型正确提供?@JonathanTodd我再次检查,您的内容类型现在似乎是
text/svg xml
-仍然不正确。要检查内容类型,请转到并插入您的SVG url,其他内容保留默认值。然后检查“HTTP响应头”部分,查看
图像/svg+xml
内容类型。愚蠢的错误。
'.svg'  : 'text/xml',
'.svg'  : 'image/svg+xml',