在<img>中加载SVG时,Chrome会发出警告

sho*_*osh 10 html5 svg warnings google-chrome canvas

为了在画布上显示SVG图像文件,我在HTML上有以下行:

<img id="soundOnImg" src="img/speaker_on.svg" style="display:none"></img>
Run Code Online (Sandbox Code Playgroud)

然后在画布上绘制它:

ctx2d.drawImage($("#soundOnImg")[0], 10, 10, 200, 200);
Run Code Online (Sandbox Code Playgroud)

($()在那里使用jQuery )

除了一个烦恼之外,这完美无缺 - Chrome给了我以下警告:

Resource interpreted as image but transferred with MIME type image/svg+xml.
Run Code Online (Sandbox Code Playgroud)

这个警告意味着什么?

我尝试使用<object>而不是,<img>但这失败,因为对象元素似乎没有[0]出于某种原因.

我怎样才能解决这个问题?

Nat*_*ard 22

这是与Chrome捆绑在一起的WebKit代码中的一个错误.WebInspector.Resource._checkWarning()调用WebInspector.Resource._mimeTypeIsConsistentWithType()来检查资源的mime类型.此函数根据WebInspector.MIMETypes对象检查值,该对象不包含SVG图像的条目.

这似乎没有在WebKit主干中修复,因此您应该将其报告为错误.

  • +1有洞察力,完整性和参考 (2认同)