【问题标题】:Does Internet Explorer remove the <object> element from DOM?Internet Explorer 是否从 DOM 中删除 <object> 元素?
【发布时间】:2010-11-02 04:24:33
【问题描述】:

我的页面中有包含标签的标记:

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

这个想法是让浏览器默认显示&lt;div&gt;的内容,但是如果存在特殊的JS库,它会找到所有元素并转换它关心的元素(基于@codetype)。

这在 Firefox 和 WebKit 中有效,但在 IE 中失败,因为该浏览器似乎剥离了外部 &lt;object&gt; 元素,只留下了内部 &lt;div&gt;。也就是说,在 Explorer 下,我从上面的标记中得到的 DOM 是这样的:

<body>
  <div>Some Markup</div>
</body>

这是记录在案的行为吗?有什么方法可以让 IE 保持 DOM 中的 &lt;object&gt; 元素不变? (我目前正在使用 IE7 进行测试。)

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

【问题讨论】:

    标签: internet-explorer dom dhtml object-tag


    【解决方案1】:

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

    【讨论】:

    • 那你要嵌入什么样的对象?
    【解决方案2】:

    如果您尝试创建一个对象,但它无法被实例化,如果对象标签最终没有成为 DOM 的一部分,我不会感到惊讶。

    【讨论】:

      【解决方案3】:

      嗯...根据MSDN 上的帖子,版本 7 之前的 Internet Explorer 将从 DOM 中删除任何无法呈现内容的&lt;object&gt;

      我想这使我的问题成为第 22 条问题。我可以添加一些数据,让 IE 呈现 &lt;object&gt;(例如让它显示一个 1 像素的图像),这将启用 DOM 中的元素,但这会隐藏“回退”标记。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-09-21
        • 2014-09-01
        • 2013-04-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多