2011-09-22 55 views
3

在下面的例子中,“再见”不渲染(在Chrome 14,反正):为什么OBJECT需要一个明确的结束标签?

<html> 
<body> 

<p>Hello</p> 

<object width="400" height="400" data="helloworld.swf"/> 

<p>Goodbye</p> 

</body> 
</html> 

然而,当我添加一个明确的结束标记反对它渲染:

<html> 
<body> 

<p>Hello</p> 

<object width="400" height="400" data="helloworld.swf"></object> 

<p>Goodbye</p> 

</body> 
</html> 

因为我没有提供任何参数给我的对象,并且我不希望任何东西出现,如果对象加载失败,它应该是第一个语法应该允许。有没有人知道为什么不允许这样做的具体原因?

+0

除了“规范定义了哪些标签可以自闭和哪些不可以”之外,您还想要什么? –

+0

足够奇怪的是,两种代码都可以在Firefox 6中运行。我期待着robertc提到的行为。 – Lekensteyn

+0

@ g.d.d.c我对它背后的理性感兴趣,如果有的话。 –

回答

7

由于object应包含备用内容,以防浏览器不支持或无法访问支持的元素,object元素引用的内容。

+0

谢谢。这是我所怀疑的,但我不确定我是否错过了一些更深的理由。 –

-1

因为它被指定为这种方式。