最简单的兼容各种浏览器的FLASH播放代码

2009年09月1日

各种浏览器的互不兼容太令人头疼了,就连播放一个flash swf文件也可能遇到各种各样的问题。这里整理一下,供参考。

这里假设要播放的swf文件是“test.swf”。

Flash自身建议的代码是:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="550" height="400" id="test" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="test.swf" />
<param name="loop" value="false" />
<param name="menu" value="false" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="test.swf" loop="false" menu="false" quality="high" bgcolor="#ffffff" width="550" height="400" name="test" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer_cn" />
</object>

其中有个令人厌恶的“embed”标签,主要是针对FireFox的。也有人为了不使用“embed”就改用“[if !IE]”来做判断,代码如下:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="550" height="400" id="test" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="test.swf" />
<param name="loop" value="false" />
<param name="menu" value="false" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="test.swf" width="550" height="400" id="test1">
</object>
<!--<![endif]-->
</object>

像这种代码也好看不到哪里去。以上两种代码还都存在一个问题,就是用到了两个对象名,一个对象名是给IE用的,另一个对象名是给FireFox用的。如果要用“getElementById”之类的函数来操作swf对象时,在不同的浏览器下就要采用不同的对象名。这对编写javascript带来不便。

为此我们简化出了如下的代码:

<object type="application/x-shockwave-flash" data="test.swf" width="550" height="400" id="test">
<param name="movie" value="test.swf" />
</object>

这里只用了一个对象名,javascript处理起来就方便多了。该代码在IE、FireFox、Chrome下测试都没有什么问题。

蓝天.收藏与分享

相关日志:

标签: ,
归类: www

1 条评论

(Required)
(Required, will not be published)