【问题标题】:Resource interpreted as Document but transferred with MIME type image/svg+xml:资源解释为 Document,但使用 MIME 类型 image/svg+xml 传输:
【发布时间】:2013-04-12 20:43:13
【问题描述】:

当我有一张带有 JavaScript chrome 的 SVG 图片时,显示“资源解释为文档,但使用 MIME 类型 image/svg+xml 传输”。 我可以将它包含在 iframe 中或嵌入 TAG 相同的结果。 但是,当我将 mime 类型更改为其他类型时,浏览器无法呈现它。 所以我猜“image/svg+xml”是正确的?

SVG

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg version="1.1" baseProfile="full" id="draw" 
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 480 480"> 
<defs>
<style type="text/css">
<![CDATA[
]]>
</style>
</defs>
<rect x="0" y="0" width="480" height="480" rx="0" ry="0" fill="rgb(255, 255, 255)" />

</g>
<script type="text/ecmascript"><![CDATA[
(function () { 

//Some code here

}());
]]>
</script>
</svg>

【问题讨论】:

  • 你如何“改变mime类型”?
  • 服务器对 SVGz 的响应是: Content-Type: image / svg + xml Content-Encoding: gzip
  • 我之前使用的是嵌入标签(现在是 iframe),然后我也尝试使用 type="image/svg+xml" 作为嵌入标签
  • 再次打扰,SVG 还是显示出来了,是什么问题?
  • chrome 中的控制台消息。这不是一个真正的问题。但是检查您的代码的其他开发人员总是会好奇是否存在问题。

标签: javascript html svg


【解决方案1】:

是的,image/svg+xml 是 SVG 内容的正确互联网媒体类型,请参阅 IANA

【讨论】:

  • 那么为什么 chrome 还在抱怨它,我们能做些什么(如果我们能做点什么......)
  • 什么版本的chrome?似乎已经修复了一段时间:code.google.com/p/chromium/issues/detail?id=128988
  • 对不起,它实际上是一个 QTwebkit 引擎,我没有注意到 chrome 从 webkit 转移到闪现......我想除非更新 QTwebkit 引擎,否则没有什么可做的:(跨度>
【解决方案2】:

我有这个问题很长一段时间,但似乎 application/svg-xml 是正确的 mime。

有关详细信息,请参阅此https://github.com/w3c/svgwg/issues/266。 mime/svg-xml 也可能存在漏洞。

【讨论】:

    猜你喜欢
    • 2017-08-01
    • 2013-05-26
    • 2016-03-30
    • 2017-03-19
    • 1970-01-01
    • 2014-08-19
    • 2011-09-29
    • 2017-05-12
    相关资源
    最近更新 更多