Internet Explorer是否从DOM中删除<object>元素?</object>

时间:2009-06-11 15:35:27

标签: internet-explorer dom dhtml object-tag

我的页面中有标记,其中包含标记:

<body>
  <object codebase="blah" codetype="text/blah">
    <param name="name" value="value"/>
    <div>Some Markup</div>
  </object>
</body>

默认情况下,浏览器会显示<div>的内容,但如果存在特殊的JS库,它会找到所有元素并转换它关注的元素(基于{{1 }})。

这适用于Firefox和WebKit,但在IE中失败,因为该浏览器似乎剥离了外部@codetype元素,只留下内部<object>。也就是说,在Explorer下,我从上面的标记获得的DOM看起来像这样:

<div>

这是记录在案的行为吗?有没有办法让IE保持DOM中的<body> <div>Some Markup</div> </body> 元素不受影响? (我目前正在使用IE7进行测试。)

注意:这不适用于嵌入Flash或类似的多媒体。

3 个答案:

答案 0 :(得分:2)

嗯......根据MSDN上的帖子,版本7之前的Internet Explorer会从DOM中删除任何无法呈现其内容的<object>

我想这会让我的问题变成一个问题22。我可以添加一些数据,使IE渲染<object>(例如让它显示1像素图像),这将启用DOM中的元素,但这会隐藏“后备”标记。

答案 1 :(得分:0)

要嵌入对象,我建议使用像swfobject这样的库,因为是的,IE肯定会用这个标签做一些时髦的事情。

答案 2 :(得分:0)

如果您尝试创建一个对象,并且无法实例化,那么如果对象标记最终不是DOM的一部分,那就不会让我感到惊讶。