zxhfighter
11/22/2013 - 2:52 AM

不同浏览器使用object元素和embed元素嵌入Flash的差异

不同浏览器使用object元素和embed元素嵌入Flash的差异

不同浏览器使用object元素和embed元素嵌入Flash的差异

问题描述


通常情况下,IE系列浏览器通过ActiveX控件使用object元素引入Flash;而其他浏览器则是通过相应的NPAPI插件使用embed元素。这造成了各浏览器插入Flash方式的差异。

因此,如果仅仅使用object元素设置了classid属性引入Flash,则有可能在某些浏览器中无法引入Flash。而若嵌套的object和embed元素参数不统一,也可能造成引入的Flash在不同浏览器中存在差异,甚至无法正常加载。

另外,如果需要获取FLash插件,在IE中药根据object元素获取(IE也可以通过embed元素获取,不过object元素优先),非IE则根据embed元素获取

实验一:object嵌套embed

实验二:仅object

实验三:仅embed

总结


  • 若不考虑W3C校验,可统一使用embed元素嵌入Flash,这样可以避免因参数不统一导致的兼容性问题。
  • 若需要考虑W3C校验,则可使用单独使用OBJECT与PARAM元素的方式。
  • 若必须使用 OBJECT 嵌套 EMBED 元素这种混合方式,则要保证 Flash 文件 URL、为 Flash 传递的参数、宽度、高度、wmode 等参数保持统一。

参考:HO8001: 各浏览器下使用 OBJECT 元素和 EMBED 元素嵌入 Flash 存在差异