什么是SWFObject?
是一个用于在HTML中方面插入Adobe Flash媒体资源(*.swf文件)的独立、敏捷的JavaScript模块。该模块中的JavaScript脚本能够自动检测PC、Mac机器上各种主流浏览器对Flash插件的支持情况。它使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。此外,它能够避免您的 HTML、XHTML中出现object、embed等非标准标签,从而符合更加标准。
(即:通过text/html应答页面, 而非application/xhtml+xml)
SWFObject如何使用?
在你的 HTML 页面头部<head>区嵌入这个脚本文件:
<script type="text/javascript" src="http://www.ypw.com.cn/js/swfobject.js"></script>
在你的 HTML 中写一个用来放 Flash 的容器,比如<div>,并随便给一个 id 比如 flashcontent。然后在里面放上你的替换内容。
<div id="flashcontent ">
这里放替换内容,用来在 Flash 无法显示时显示。
</div>
也可先用CSS写一个#flashcontent 的类,如定义字体的样式等。也可不写。
使用脚本:
<script type="text/javascript">
var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699", "wmode");
//参数意思: 地址,Flash 的 id(不是容器的 id),宽,高,版本需求,背景颜色 ,透明FLASH的背景色
//这是最基本的,如果你要高级的设置,就仔细翻翻说明吧。
so.write("flashcontent");
so.addParam("wmode", "transparent");//如果FLASH是透明时使用
</script>
这脚本可以写在 HTML 中也可以写在外部 .js 文件中
让我们看看这些代码是如何工作的
<div id="flashcontent">[...]</div>
首先,我们要为SWF资源预留一个HTML结点。这个HTML结点内的所有内容都会在客户端被Flash资源替换,当客户端没有安装Flash播放器的时候,这些内容会显示出来。
这一特色在SEO以及对用户体验方面非常有必要。
var so = new SWFObject(swf, id, width, height, version, background-color [, quality, xiRedirectUrl, redirectUrl, detectKey]);
创建一个新的SWFObject实例,并且传入一下参数:
- swf - SWF文件路径
- id - 您为这个SWF文件分配的id值,它将用于给embed与object标签设定name属性,以便于可以支持
swliveconnect
的功能,如动态传入变量 - width - 宽度
- height - 高度
- version - FlashPlayer需要的版本号,它可以详细到 '主版本号.小版本号.细节',例如:
"6.0.65"
。一般地,我们只需传入主版本即可,例如:"6"
。 - background-color - Flash资源的背景色,16进制格式
此外,还有如下可选参数:
- quality - 画面质量,默认为
"high"
。 - xiRedirectUrl - 详见ExpressInstall相关
- redirectUrl - 没有安装相应版本的播放器后自动跳转的目标地址
- detectKey - 这是当忽略检测时,SWFObject将去url地址中查找的变量,默认值为“detectflash”,后续有详细介绍
so.write("flashcontent");
将Flash资源应用到DOM里,在浏览器显示出来