当前位置: 代码迷 >> Web前端 >> SWFObject 2.1 最新版语法调用示范
  详细解决方案

SWFObject 2.1 最新版语法调用示范

热度:397   发布时间:2012-10-08 19:54:56.0
SWFObject 2.1 最新版语法调用示例

?转自http://www.cnblogs.com/analyzer/articles/1299592.html

?

?

我一直都在用SWFObject?插入flash,好处多多,代码简洁,不会出现微软的“单击此处以激活控件”的提示(据可靠消息,这个是微软惹的官司,其结果是害苦了用户)。不过先前的 调用方法着实有些繁琐,先实例化->添加参数、变量->写入,搞的跟把大象装冰箱里头一样麻烦。好在作者终于注意到这一点,在新的2.x版本中,其最简单的调用竟只需一句话,并且不需要等待页面加载完成,这意味着你可以将这句话写在页面的任何地方,由此可见人类的科技水平进步之快,下面我们就来列举几个我们在日常开发中最常用到的几个调用实例。

1、最简单,最基本,只要想插入flash都能用到的经典一句话

<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
  swfobject.embedSWF("test.swf", "yourFlashContainer", "300", "120", "9.0.0", "expressInstall.swf");
</script>
?

?

注解:调用方法embedSWF――插入SWF文件,参数依次是
@swf文件的地址;
@用于装入swf文件的容器(如div)的id;
@flash的宽度;
@flash的高度(当然,这里的宽高都可以使用诸如100%这样的百分比来表示);
@正常播放该flash所需的最低版本;
@当版本低于要求时,执行该swf文件,这里利用这个flash跳转到官方下载最新版本的flash插件。(该参数可以省略)

在同一个页面插入多个flash到不同位置时,只要重复上面的语句,使用不同的容器id就可以了。

2、给swf文件传递参数、变量、属性的调用方法

?

最后还是调用embedSWF方法嵌入flash,其参数顺序也很清晰,本人更喜欢第1中调用方法,看的不累,用着也方便。

<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
//1、使用Json初始化变量、参数、属性
    var flashvars = {
      name1: "hello",
      name2: "world",
      name3: "foobar"
    };
    var params = {
      menu: "false"
    };
    var attributes = {
      id: "dynamicContent2",
      name: "dynamicContent2"
    };
    swfobject.embedSWF("test6_flashvars.swf", "content2", "300", "120", "6.0.0", "expressInstall.swf", flashvars, params, attributes);

//2、传统的初始化设置,效果一样
    var flashvars = {};
    flashvars.name1 = "hello";
    flashvars.name2 = "world";
    flashvars.name3 = "foobar";
    var params = {};
    params.menu = "false";
    var attributes = {};
    attributes.id = "dynamicContent3";
    attributes.name = "dynamicContent3";
    swfobject.embedSWF("test6_flashvars.swf", "content3", "300", "120", "6.0.0", "expressInstall.swf", flashvars, params, attributes);
//3、直接写在后面,就一句话,简洁剽悍,不拖泥带水
    swfobject.embedSWF("test6_flashvars.swf", "content5", "300", "120", "6.0.0", "expressInstall.swf", {name1:"hello",name2:"world",name3:"foobar"}, {menu:"false"}, {id:"dynamicContent5",name:"dynamicContent5"});
</script>
?

3、一些强大的扩展功能
还有必要写么?

参考文献:http://www.swffix.org/swfobject/testsuite/