使用MS Visual Web Developer 2010 Express在调试模式下运行时,我能够使用object标签显示SVG文件(img标签不起作用,也没有background-image属性)。我的浏览器是IE11。但在发布到网络后,SVG文件不显示,并在包含时显示“alt”内容。 img标签永远不能与SVG一起使用,即使在发布到Web之后,svg标签也始终有效。我只需要让对象标签工作,然后将其他标签作为附加信息包括在内,以便弄清楚可能发生的事情。
<body>
<form id="form1">
<img alt="image missing" src="Images/circle.svg" />
<object data="Images/circle.svg" type="image/svg+xml">object missing</object>
<svg>
<circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg>
</form>
</body>
当我用png替换svg文件时,所有三个图像都显示在调试中以及发布到Web之后。 png和svg文件保存在同一文件夹中。我尝试了另一种浏览器(Chrome),效果相同。关于为什么svg不会显示的任何想法?感谢。
答案 0 :(得分:2)
我解决了这个问题。我不得不将.svg mime类型添加到应用程序的web.config文件中。以下代码已添加到web.config中,现在所有可缩放矢量图形都显示在调试和发布的图像标记和对象标记中。
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>
</system.webServer>
</configuration>
我在这里找到了解决方案: https://serverfault.com/questions/359904/how-to-configure-iis-for-svg-and-web-testing-with-visual-studio
在这里:http://www.codeproject.com/Tips/439273/Viewing-SVG-and-other-HTML5-content-when-debugging