本文详细介绍FlashObject JavaScript库的使用方法,涵盖Flash检测、嵌入及参数配置。通过示例代码演示如何设置Flash基本参数、可选参数及Flashvars变量,并支持通过URL传递参数。此外,还讲解了如何利用FlashObject实现Flash Player的快速安装功能,确保兼容性及用户体验。
FlashObject主要特点
FlashObject的主要特点包括:
1、支持所有Flash内置参数的设置,且操作更加简便。
2、内置Flash Player升级检测功能,并在需要时提示用户升级。
3、完全符合XHTML 1.0 Strict标准验证。
4、能够解决IE升级对Flash的影响,并支持绝大多数浏览器版本。
FlashObject使用方法
使用方法如下:
1、首先下载上述提到的flashobject.js文件,并将其放置于网页目录下。
2、在HTML的<head>标签内引入该JS文件,代码如下:
<script type="text/javascript" src="flashobject.js"></script>
3、在HTML中设置用于插入Flash的代码,例如:
<div id="flashcontent">这里放上你想替换flash的文字。</div>
4、在上述代码之后添加Flash的配置代码,如下所示:
<script type="text/javascript">
var fo = new FlashObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
fo.write("flashcontent");
</script>
FlashObject参数配置
上述FlashObject中的基本参数设置依次为:文件地址、ID、宽度、高度、Flash版本以及背景色。
可选参数包括:
useExpressInstall:快速升级Flash Player,值为true或false;
quality:播放品质,默认为"high";
xiRedirectUrl:指定完成(useExpressInstall)快速升级Player后的定向网址。
redirectUrl:指定Flash Player版本不正确时的定向网址。
detectKey:Flash检测的地址参数,默认为detectflash。例如,若不想检测Flash,可以在网址后加上?detectflash=false。
fo.write("flashcontent");的作用是将Flash内容写入id="flashcontent"的元素中。
Flash参数设置
Flash参数设置:
一般的Flash参数设置为:
<param name="quality" value="high">
<param name="wmode" value="transparent">
而使用FlashObject时的参数设置为:
<script type="text/javascript">
var fo = new FlashObject("movie.swf", "mymovie", "200", "100%", "7", "#336699");
fo.addParam("quality", "low");
fo.addParam("wmode", "transparent");
fo.addParam("salign", "t");
fo.write("flashcontent");
</script>
更多参数请参考Macromedia的详细介绍:http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_12701
Flashvars变量设置
Flashvars变量设置:
通常通过Flashvars来给Flash条件变量:
<param name="FlashVars" value="variable1=value1&variable2=value2&variable3=value3">
而使用FlashObject后的变量设置为:
<script type="text/javascript">
var fo = new FlashObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
fo.addVariable("variable1", "value1");
fo.addVariable("variable2", "value2");
fo.addVariable("variable3", "value3");
fo.write("flashcontent");
</script>
这样设置后,所有变量将立即传递到Flash的_root上。
此外,FlashObject还提供getQueryParamValue()函数来调用URL网址串的参数。
例如网址:http://www.example.com/page.html?variable1=value1&variable2=value2
你可以通过以下方法将上述参数传递给Flash。
<script type="text/javascript">
var fo = new FlashObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
fo.addVariable("variable1", getQueryParamValue("variable1"));
fo.addVariable("variable2", getQueryParamValue("variable2"));
fo.write("flashcontent");
</script>
同时,getQueryParamValue()还支持从location.hash读取变量。例子:
http://www.slideshowpro.net/demo/demo_default.php
Flash Player快速安装功能
Flash Player的快速安装功能
FlashObject完全支持Flash Player的快速安装功能。通过在Flash的第一帧添加一段AS代码,即可轻松检测用户Flash Player版本并提示更新。expressinstall.as代码如下:
#include "expressinstall.as"
var ExpressInstall = new ExpressInstall();
if (ExpressInstall.needsUpdate) {
var upgradeMsg = attachMovie("upgradeMsg_src", "upgradeMsg", 1);
upgradeMsg._x = Stage.width / 2;
upgradeMsg._y = Stage.height / 2;
upgradeMsg.upgradeBtn.onRelease = function() {
ExpressInstall.init();
}
stop();
}
注意要将上述AS代码放置于主时间轴的第一帧,且该帧上不要放置任何其他内容。具体示例:
http://blog.deconcept.com/flashobject/expressinstall.html