var flashElements的最佳替代品= document.getElementsByTagName(“EMBED”);

时间:2009-02-10 14:11:32

标签: javascript internet-explorer object embedding

我想在随机页面上找到所有flash对象(使它们wmode =透明,这样它们就不会隐藏菜单)。

IE不支持EMBED:document.getElementsByTagName(“EMBED”);

任何想法找到所有嵌入的最有效(没有jQuery ......)

同样对于更高级的:我遇到了将嵌入标记写为eMBED的网站。我也需要找到这些标签。

由于

1 个答案:

答案 0 :(得分:2)

我认为问题不在于IE不支持搜索< embed>标签,而是在IE中使用< object>标签包含flash元素。事实上,如果您使用以下格式,Firefox也支持后一种格式:

<object type="application/x-shockwave-flash" data="MyFlashProgram.swf">

实际上,这是首选语法,swfobject也使用此语法。因此,对于跨浏览器解决方案,您需要查找:

  • &LT;嵌入&GT;和&lt; object&gt; type属性设置为“application / x-shockwave-flash”
  • 的元素
  • &LT;对象&gt; classid属性设置为“clsid:D27CDB6E-AE6D-11cf-96B8-444553540000”的元素

我不确定其他浏览器如Opera或Safari,您可能需要使用更多变体扩展此列表。

使用像jQuery或原型这样的javascript库来查找这些元素应该是微不足道的,但是你可以在没有这些元素的情况下进行管理。