当我打开my project时,仅显示背景和未找到图像的项目,而页面是100%xhtml 1.1严格。开发人员工具显示IE在SVG徽标后停止渲染... Firefox正常工作。该死的IE!
答案 0 :(得分:1)
尽量不要自动关闭'object'标签。
<object data="/images/Logo_header.svg" type="image/svg+xml"></object>
而不是
<object data="/images/Logo_header.svg" type="image/svg+xml" />
不确定这是否是一个bug,或者FF正常恢复。如果您还将页面作为XML提供,那么它只是有效的XML,您不需要。您使用'text / html'而不是'application / xhtml + xml'。
答案 1 :(得分:1)
Kamiel是对的:您不能在IE上使用XML自动关闭标记。在任何情况下,由于IE无法呈现SVG,因此您需要在对象内部包含一些后备内容,例如图像。
我建议您不要使用目前正在使用的嗅探和服务XHTML-as-XML-or-HTML方法。它没有任何好处;你只会得到类似这样的奇怪的兼容性问题,因为你的文档是用不同的解析,样式和DOM上下文处理的。更重要的是,当您执行此操作时,您必须在响应中使用Vary: Accept
标头,这使得缓存在IE中的效果更差。无论如何,对于XHTML 1.1文档,W3 specifically don't allow XHTML-as-text / html。
要么全力以赴,只提供XHTML 1.1(牺牲IE兼容性),要么坚持向所有人提供XHTML 1.0 Strict内容作为text / html,观察compatibility guidelines。