·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]swfobject模块加载swf文件的用法说明(2)

时间:2013-02-21 22:35CuPlayer.com
让我们看看这些代码是如何工作的 div id=flashcontent[...]/div首先,我们要为SWF资源预留一个HTML结点。这个HTML结点内的所 有内容都会在客户端被Flash资源替换,当客户端没有安装Flash播放器的时候,这些内容会显

让我们看看这些代码是如何工作的

<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里,在浏览器显示出来。

SWFObject在

<script type="text/javascript">
</script>

之间加入多个参数来实现各个效果,参数很多,但是实际只要一点点。我们可以看下这样的代码:

  1.  <script type="text/javascript" src="swfobject.js"></script> 
  2.  <script type="text/javascript"> 
  3.    var so = new SWFObject("movie.swf", "mymovie", "400", "100%", "8", "#336699"); 
  4.    so.addParam("quality", "low"); 
  5.    so.addParam("wmode", "transparent"); 
  6.    so.addParam("salign", "t"); 
  7.    so.addVariable("variable1", "value1"); 
  8.    so.addVariable("variable2", "value2"); 
  9.    so.addVariable("variable3", "value3"); 
  10.    so.addVariable("variable1", getQueryParamValue("variable1")); 
  11.    so.addVariable("variable2", getQueryParamValue("variable2")); 
  12.    so.write("flashcontent"); 
  13. </script> 

这段代码给出了SWFObject的常用参数:

  1. var so = new SWFObject(swf, id, width, height, version, background-color [, quality, xiRedirectUrl, redirectUrl, detectKey]); 
  2. so.addParam("Param1", "Param2"); 
  3. so.addParam("Param3", "Param4"); 
  4. so.addParam("Param5", "Param6"); 
  5. so.addVariable("variable1", "value1"); 
  6. so.addVariable("variable2", "value2"); 
  7. so.addVariable("variable3", "value3"); 
  8. so.addVariable("variable1", getQueryParamValue("variable1")); 
  9. so.addVariable("variable2", getQueryParamValue("variable2")); 
  10. so.write("content"); 

解释一下这些参数的作用:

   var so = new SWFObject(swf, id, width, height, version, background-color [, quality, xiRedirectUrl, redirectUrl, detectKey]);         //这段是SWFObject必须的基本参数,所有SWFObject都必须包含的。
   so.addParam("Param1", "Param2");   //这里是给Flash添加内联参数,可以实现诸如背景透明之类的效果。依照需求添加就可以了,参数和emded/object标签是一样的代码,下同。
   so.addParam("Param3", "Param4");
   so.addParam("Param5", "Param6");
   so.addVariable("variable1", "value1");    //这里是给Flash添加FlashVar,这是以FlashVar的方式给Flash的Root添加变量,对于Number型变量在Flash端需要做类型转换。
   so.addVariable("variable2", "value2");
   so.addVariable("variable3", "value3");
   so.addVariable("variable1", getQueryParamValue("variable1"));   //Flash获取URL变量对于url?arg1=test1&arg2=test2这样用GET方式传递变量的URL,我们可以用getQueryParamValue方法来获取变量。
   so.addVariable("variable2", getQueryParamValue("variable2"));
   so.write("content");    //这里是至关重要的一个地方,他是用一段特定内容取代Flash无法显示时的内容。可以事先在CSS里定义好样式,在文档里使用div标签写出来。这里在调用过来。

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器