公司网站原先使用FlashObject,发现如果版本过低,有些视频不能播放,特别是SWF。经过多方搜索后,找到了一个SwfObject,经过试用后 发现还蛮好用的,则把它的使用过程记录下来。
SwfObject用于在HTML中方面插入Adobe Flash媒体资源(*.swf文件)的独立、敏捷的JavaScript模块,该模块中的JavaScript脚本能够自动检测PC、Mac机器上各种 主流浏览器对Flash插件的支持情况。目前最新的版本是2.2
优点
1.IE中没有讨厌的虚框问题了。
2.提供了完善的版本检测功能,如果版本不够则显示其他东西,比如图片或文字。
3.易于使用,只要在页面头加载一个 .js 文件,然后 HTML 写一个容器,里面放普通的文本或图片(用于无法显示 Flash 时显示),最后用脚本来替换这个元素里面的内容为 Flash。
4.使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。
5.能够避免HTML、XHTML中出现object、embed等非标准标签,从而符合更加标准。
用法:
第一步:在head中包含以下代码
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
swfobject.registerObject("myFlashContent", "9.0.0");
</script>
第二步:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="800" height="600" id="myFlashContent">
<param name="movie" value="在这里写你要播放的SWF的路径文件名" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="在这里写你要播放的SWF的路径文件名" width="800" height="600">
<!--<![endif]-->
<a href="http://www.adobe.com/go/getflashplayer">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
</a>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
这样就OK啦。
如果还需要有扩展功能可能参考以下参数
共10个参数,其中前5个为必须,后5个为可选,各参数说明如下:
- swfUrl:(字符类型,必选)要加载的 swf 文件的 URL 地址;
- id :(字符类型,必选)加载 swf 文件的 HTML 容器(div)的id 标识,必须页面唯一;
- width,height:(字符类型,必选)加载 swf 文件的 HTML容器(div)的宽高;
- version:(字符类型,必选)指定加载 swf 文件的最低 Flash Player 版本号,格式:"major.minor.release" or "major";
- expressInstallSwfurl:(字符类型,可选)当版本低于要求时,执行该swf文件,这里利用这个flash跳转到官方下载最新版本的flash插件;
- flashvars:(对象类型,可选)使用 name:value 的形式指定 swf 文件的入口参数;
- params:(对象类型,可选)使用 name:value 的形式指定加载 swf 文件时的 Flash 参数;
- attributes:(对象类型,可选)使用 name:value 的形式指定 swf 对象的属性;
- callbackFn:(Javascript函数,可选)指定一个回调函数,这个回调函数无论加载 swf 文件成功或失败都会调用;
常用的 Flash 参数:
- play:是否立即自动播放,当加载完毕后,可选值:true、false;
- loop:是否循环播放,可选值:true、false;
- menu:是否启用右键菜单,可选值:true、false;
- quality:指定影片质量,可选值:low、autolow、autohigh、medium、high、high;
- scale:当 width 和 height 值是百分比时,定义应用程序如何放置在浏览器窗口中,可选值:showall、noborder、exactfit;
- salign:(可选)指定缩放的 Flash SWF 文件在由 width 和 height 设置定义的区域内的位置,可选值:L、R、T、B、TL、TR、BL、BR;
- wmode:(可选)允许使用 Internet Explorer 4.0 中的透明 Flash 内容、绝对定位和分层显示功能。此标记/属性仅在带有 Flash Player ActiveX 控件的 Windows 中有效,可选值:Window、Opaque、Transparent;
- bgcolor:背景颜色,格式:#RRGGhttp://randi0624.iteye.com/admin/blogs/newBB;
- base:基准连接地址;
- allowscriptaccess :使用 allowscriptaccess 使 Flash 应用程序可与其所在的 HTML 页通信。此参数是必需的,因为 fscommand() 和 getURL() 操作可能导致 JavaScript 使用 HTML 页的权限,而该权限可能与 Flash 应用程序的权限不同。这与跨域安全性有着重要关系,可选值:always、never、samedomain;
- seamlesstabbing:(可选)允许设置 ActiveX 控件执行无缝跳格,从而使用户能跳出 Flash 应用程序。该参数只能在安装 Flash Player ActiveX 控件版本 7 及更高版本的 Windows 中使用。可选值:true、false;