强制SWFObject使用EMBED而不是OBJECT

时间:2012-11-19 14:01:49

标签: javascript jquery flash google-chrome swfobject

是否可以使用embed标记而非默认object标记强制SWFobject嵌入Flash?现在我正在使用它:

swfobject.embedSWF(url, 'player', width, height, "8", null, null, params, attrs)

这导致类似:

<object type="application/x-shockwave-flash" id="player" data="/player.swf">
    <param name="allowScriptAccess" value="always">
</object>

但我想使用embed代替Chrome进行嵌入,因为我怀疑我可以解决一些神秘的flash错误,比如position:fixed。

1 个答案:

答案 0 :(得分:3)

简短回答:不。

SWFObject 2.x的一个关键目标是avoid using the embed tag,因为它不是HTML 4或XHTML中的标准,并且不支持后备内容。因此,SWFObject 2中没有embed选项。(FWIW,SWFObject 2.x早于HTML5,embed编码为标准。)

您可以尝试使用SWFObject 1.5,其中embed用于IE,object用于其他所有内容,但您必须修改源代码才能为Chrome添加分叉

如果我在你的鞋子里,这就是我要做的事情:

  1. 试试SWFObject 2.3 beta。它仍然使用object元素,但有许多更新。
  2. 尝试手工编写嵌入式代码,以查看它是否能解决您的问题。 this article中有一些示例代码,您可以根据自己的需要进行修改。