现在的位置: 首页JavaScript>正文
SWFObject2.0+ 使用说明 参数说明 及下载地址
2010年07月12日 JavaScript 评论数 5 ⁄ 被围观 阅读(2,030)+

SWFObject下载:

开发者blog上的下载地址:http://blog.deconcept.com/swfobject/#download
此外,SWFObject的新开发地址: http://code.google.com/p/swfobject/

用SWFObject 插入flash,代码简洁,不会出现微软的“单击此处以激活控件”的提示。不过先前的调用方法着实有些繁琐,先实例化->添加参数、变量->写入,搞的麻烦。好在作者终于注意到这一点,在新的2.0+版本中,其最简单的调用竟只需一句话,并且不需要等待页面加载完成,这意味着你可以将这句话写在页面的任何地方,下面我们就来列举几个调用实例。

swfobject.embedSWF(swfUrl, id, width, height, version, expressInstallSwfurl, flashvars, params, attributes)有5个必须的参数和4个可选的参数:

  1. swfUrl(String,必须的)指定SWF的URL。
  2. id(String,必须的)指定将会被Flash内容替换的HTML元素(包含你的替换内容)的id。
  3. width(String,必须的)指定SWF的宽。
  4. height(String,必须的)指定SWF的高。
  5. version(String,必须的)指定你发布的SWF对应的Flash Player版本(格式为:major.minor.release)。
  6. expressInstallSwfurl(String,可选的)指定express install SWF的URL并激活Adobe express install [ http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=6a253b75 ]。
  7. flashvars(String,可选的)用name:value对指定你的flashvars。
  8. params(String,可选的)用name:value对指定你的嵌套object元素的params。

例如:

<script type="text/javascript" src="swfobject.js"></script>

<script type="text/javascript">
swfobject.embedSWF("myflash.swf", "myflash", "300", "120", "9.0.0");
swfobject.embedSWF("myflash.swf", "myflash", "300", "120", "9.0.0", null, null, {wmode: ‘transparent’});
</script>
<div id="myflash">这里是当flash不能正常显示时显示的内容</div>

怎样配置你的Flash内容?
你可以为你的object元素添加下面这些常用的可选属性(attributes)[ http://www.w3schools.com/tags/tag_object.asp ]:

  • id
  • name
  • styleclass(不使用class,因为class也是ECMA4的保留关键字)
  • align

你可以使用下面这些专用于Flash的可选param元素[ http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_12701 ]:

  • play
  • loop
  • menu
  • quality
  • scale
  • salign
  • wmode
  • bgcolor
  • base
  • swliveconnect
  • flahvars
  • devicefont [ http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_13331 ]
  • allowscriptaccess [ http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_16494 ]
  • seamlesstabbing [ http://www.adobe.com/support/documentation/en/flashplayer/7/releasenotes.html ]
  • allowfullscreen [ http://www.adobe.com/devnet/flashplayer/articles/full_screen_mode.html ]
  • allownetworking [ http://livedocs.adobe.com/flash/9.0/main/00001079.html ]

怎样用JavaScript对象来定义你的flashvars、params和attributes?
你最好用对象的字面量(Object literal notation)来定义JavaScrpt对象,例如这样:

<script type=“text/javascript“>

var flashvars = {};
var params = {};
var attributes = {};

swfobject.embedSWF(“myContent.swf“, “myContent“, “300“, “120“, “9.0.0“,“expressInstall.swf“, flashvars, params, attributes);

</script>

  • attributes(String,可选的)用name:value对指定object的属性。
  • 你可以在定义对象的时候添加你的name:value对(注意:请确保不要再对象中的最后一个name:value对后面加上逗号):

    <script type=“text/javascript“>

    var flashvars = {
    name1: “hello“,
    name2: “world“,
    name3: “foobar“
    };
    var params = {
    menu: “false“
    };
    var attributes = {
    id: “myDynamicContent“,
    name: “myDynamicContent“
    };

    swfobject.embedSWF(“myContent.swf“, “myContent“, “300“, “120“, “9.0.0“,“expressInstall.swf“, flashvars, params, attributes);

    </script>

    或者在对象创建之后用点号添加属性(properties)和值:

    <script type=“text/javascript“>

    var flashvars = {};
    flashvars.name1 = “hello“;
    flashvars.name2 = “world“;
    flashvars.name3 = “foobar“;

    var params = {};
    params.menu = “false“;

    var attributes = {};
    attributes.id = “myDynamicContent“;
    attributes.name = “myDynamicContent“;

    swfobject.embedSWF(“myContent.swf“, “myContent“, “300“, “120“, “9.0.0“,“expressInstall.swf“, flashvars, params, attributes);

    </script>

    上面的代码也可以这样写(为那些喜欢俏皮话的顽固脚本程序员准备的不易读的简写版本(the less readable shorthand version for the die-hard scripter who love one-liners)):

    <script type=“text/javascript“>

    swfobject.embedSWF(“myContent.swf“, “myContent“, “300“, “120“, “9.0.0“,“expressInstall.swf“, {name1:“hello“,name2:“world“,name3:“foobar“}, {menu:“false“}, {id:“myDynamicContent“,name:“myDynamicContent“});

    </script>

    如果你不想使用一个参数,你可以将它定义为false或者一个空对象:

    <script type=“text/javascript“>

    var flashvars = false;
    var params = {};
    var attributes = {
    id: “myDynamicContent“,
    name: “myDynamicContent“
    };

    swfobject.embedSWF(“myContent.swf“, “myContent“, “300“, “120“, “9.0.0“,“expressInstall.swf“, flashvars, params, attributes);

    </script>

    flashvars对象是一个为了增加易用性而设计的作为快捷方式的参数,所以你可以先忽略它,然后在params对象中指定你的flashvars:

    <script type=“text/javascript“>

    var flashvars = false;
    var params = {
    menu: “false“,
    flashvars: “name1=hello&name2=world&name3=foobar“
    };
    var attributes = {
    id: “myDynamicContent“,
    name: “myDynamicContent“
    };

    swfobject.embedSWF(“myContent.swf“, “myContent“, “300“, “120“, “9.0.0“,“expressInstall.swf“, flashvars, params, attributes);

    </script>

    提示:使用SWFObject 2.0 HTML和JavaScript代码生成器(SWFObject 2.0 HTML and JavaScript generator)来帮助你创建代码:[ http://code.google.com/p/swfobject/wiki/SWFObject_2_0_generator ]。

    目前有 5 条留言 其中:访客:5 条, 博主:0 条

    1. 反恐精英ol : 2010年11月17日17:34:31  1楼 @回复 回复

      我会永远记得你的

    2. 辉远净水机 : 2010年11月08日13:58:27  2楼 @回复 回复

      参考了

    3. 婚礼 : 2010年09月05日09:26:30  3楼 @回复 回复

      没有多少必要生成吧,写flash的人应该知道要怎么生成吧 [face=7]

    4. 婚礼 : 2010年09月05日09:26:30  4楼 @回复 回复

      没有多少必要生成吧,写flash的人应该知道要怎么生成吧 [face=7]

    5. 网站优化 : 2010年08月30日11:12:56  5楼 @回复 回复

      借鉴 学习了 [face=7]

    给我留言

    留言无头像?


    [face=9] [face=8] [face=7] [face=6] [face=5] [face=4] [face=3] [face=30] [face=2] [face=29] [face=28] [face=27] [face=26] [face=25] [face=24] [face=23] [face=22] [face=21] [face=20] [face=1] [face=19] [face=18] [face=17] [face=16] [face=15] [face=14] [face=13] [face=12] [face=11] [face=10] [em=9] [em=8] [em=7] [em=6] [em=5] [em=4] [em=3] [em=30] [em=2] [em=29] [em=28] [em=27] [em=26] [em=25] [em=24] [em=23] [em=22] [em=21] [em=20] [em=1] [em=19] [em=18] [em=17] [em=16] [em=15] [em=14] [em=13] [em=12] [em=11] [em=10] ;) :| :x :twisted: :roll: :oops: :o :mrgreen: :lol: :idea: :evil: :cry: :arrow: :P :D :?: :? :) :( :!: 8O 8)
    ×
    腾讯微博