SWFObject中文说明

合集下载

SWFObject使用手册

SWFObject使用手册

SWFObject使用文档为什么你应该使用SWFObject?一篇A List Apart上的文章Flash Embedding Cage Match描述了SWFObject v2.0背后的基本原理,以及为什么它比其他可用的Flash嵌入方式更好。

怎样使用SWFObject?SWFObject提供了两种嵌入Flash内容的方法:1.用符合标准的标签来嵌入Flash内容和替换内容(译者注:替换内容指Flash插件没有安装时需要显示的内容),并且用JavaScript来解决使用标签嵌入时出现的一些问题(这种方法也被称之为静态发表(static publishing))。

2.使用标准的标签插入替换内容,并用unobtrusive(译者注:这个词的翻译争议比较大,暂且不译,可以理解为低调的、不唐突的)的 JavaScript 来嵌入Flash内容(与以前版本的SWFObject以及UFO很相似,这种方法也被称之为动态发表(dynamic publishing))。

与第二种方法相比,第一种方法的优势在于:1.能促进符合标准标签的创作。

(The actual authoring of standardscompliant markup is promoted.)2.插入Flash内容的机制不再依赖于JavaScript,所以这种方法适当的“降级”了。

o如果你安装了Flash插件,但是JavaScript被禁用了或者浏览器并不支持JavaScript,你仍然能够看到你的Flash内容。

o Flash将能够在那些对JavaScript支持较弱的设备上运行,例如Sony PSP。

o像RSS阅读器这样的自动化的工具能够读取Flash内容。

与第一种方法相比,第二种方法的优势在于:1.更容易被编写和维护,因为它显得更简洁,没有包含多余的代码。

2.避免了通过“点击激活”的机制来激活Internet Explorer 6+和Opera 9+中的Flash内容。

SWFObject中文详细说明

SWFObject中文详细说明

SWFObject: 基于Javascript的Flash 媒体版本检测与嵌入模块新功能详细的可以在SWFObject 1.5 blog post这里找到。

实现原理[对于急切需要下载的用户点击这里直接观看JS代码]SWFObject的使用是非常简单的,只需要包含swfobject.js这个js文件,然后在DOM中插入一些简单的JS代码,就能嵌入Flash媒体资源了。

下面是一个最简单的范例:<script type="text/javascript" src="swfobject.js"></script><div id="flashcontent">This text is replaced by the Flash movie.</div><script type="text/javascript">var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699");so.write("flashcontent");</script>让我们看看这些代码是如何工作的<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"。

文件上传插件SWFUpload的使用指南

文件上传插件SWFUpload的使用指南

⽂件上传插件SWFUpload的使⽤指南SWFUpload是⼀个flash和js相结合⽽成的⽂件上传插件,其功能⾮常强⼤。

以前在项⽬中⽤过⼏次,但它的配置参数太多了,⽤过后就忘记怎么⽤了,到以后要⽤时⼜得到官⽹上看它的⽂档,真是太烦了。

所以索性就把它的⽤法记录下来,也⽅便英语拙计的同学查看,利⼈利⼰,⼀劳永逸。

(ps:SWFUpload早就不再更新了,官⽹也打不开了,推荐⼤家使⽤Plupload来代替SWFUpload,Plupload以html5上传⽅式为主,在不⽀持html5的浏览器中会⾃动回退到flash的上传⽅式,功能灰常强⼤!使⽤⽅法可以看我写的《前端上传组件Plupload使⽤指南》)SWFUpload的特点:1、⽤flash进⾏上传,页⾯⽆刷新,且可⾃定义Flash按钮的样式;2、可以在浏览器端就对要上传的⽂件进⾏限制;3、允许⼀次上传多个⽂件,但会有⼀个上传队列,队列⾥⽂件的上传是逐个进⾏的,服务器端接收⽂件时跟普通的表单上传⽂件是⼀样的;4、提供了丰富的事件接⼝供开发者使⽤;SWFUpload的⽂件上传流程是这样的:1、引⼊相应的js⽂件2、实例化SWFUpload对象,传⼊⼀个配置参数对象进⾏各⽅⾯的配置。

3、点击SWFUpload提供的Flash按钮,弹出⽂件选取窗⼝选择要上传的⽂件;4、⽂件选取完成后符合规定的⽂件会被添加到上传的队列⾥;5、调⽤startUpload⽅法让队列⾥⽂件开始上传;6、⽂件上传过程中会触发相应的事件,开发者利⽤这些事件来更新ui、处理错误、发出提⽰等等;SWFUpload包括三部分的内容:SWFUpload.js、swfupload.swf、初始化配置参数及各种事件处理函数。

所以⾸先在页⾯引⼊SWFUpload.js<script src='SWFUpload.js'></script>然后实例化⼀个SWFUpload对象:var swfu;window.onload = function () {var settings_object = {//定义参数配置对象upload_url : "/upload.php",flash_url : "/swfupload.swf",file_post_name : "Filedata",post_params : {"post_param_name_1" : "post_param_value_1","post_param_name_2" : "post_param_value_2","post_param_name_n" : "post_param_value_n"},use_query_string : false,requeue_on_error : false,http_success : [201, 202],assume_success_timeout : 0,file_types : "*.jpg;*.gif",file_types_description: "Web Image Files",file_size_limit : "1024",file_upload_limit : 10,file_queue_limit : 2,debug : false,prevent_swf_caching : false,preserve_relative_urls : false,button_placeholder_id : "element_id",button_image_url : "/button_sprite.png",button_width : 61,button_height : 22,button_text : "<b>Click</b> <span class="redText">here</span>",button_text_style : ".redText { color: #FF0000; }",button_text_left_padding : 3,button_text_top_padding : 2,button_action : SWFUpload.BUTTON_ACTION.SELECT_FILES,button_disabled : false,button_cursor : SWFUpload.CURSOR.HAND,button_window_mode : SWFUpload.WINDOW_MODE.TRANSPARENT,swfupload_loaded_handler : swfupload_loaded_function,file_dialog_start_handler : file_dialog_start_function,file_queued_handler : file_queued_function,file_queue_error_handler : file_queue_error_function,file_dialog_complete_handler : file_dialog_complete_function,upload_start_handler : upload_start_function,upload_progress_handler : upload_progress_function,upload_error_handler : upload_error_function,upload_success_handler : upload_success_function,upload_complete_handler : upload_complete_function,debug_handler : debug_function,};swfu = new SWFUpload(settings_object);//实例化⼀个SWFUpload,传⼊参数配置对象};/*定义各种事件监听函数*/function swfupload_loaded_function(){}function file_dialog_start_function(){}...等等我们看到要实现⼀个swfupload上传功能很简单,就是实例化⼀个swfupload对象。

Flash Builder操作指南

Flash Builder操作指南

关于Flash Builder项目Flash Builder将构成应用程序的资源(文件夹和文件)组合到一个容器中,我们将其称为项目。

项目包含一组属性,这些属性控制应用程序的构建方式、构建的应用程序所在的位置、调试的处理方式以及该项目于工作空间中其他项目的关系。

要管理项目,可以使用“包资源管理器”视图来添加、编辑和删除资源。

还可以关闭工作空间中的项目、导入资源以及链接外部资源。

Flex项目使用Flex项目可以构建基于Flex框架的Web应用程序,也可以构建基于Flex框架的桌面应用程序。

Web应用程序在Adobe Flash Player中运行,而桌面应用程序在Adobe AIR 中运行。

创建项目时,请指定项目是针对Web应用程序,还是针对桌面应用程序。

Flex项目包含一组属性,这些属性可控制应用程序的构建方式、已构建的应用程序所在的位置、调试的处理方式以及该项目与工作空间中其它项目之间的关系。

Flex项目包含默认的MXML应用程序文件。

项目中的其它MXML文件也可以是应用程序文件。

创建Flex 项目使用以下过程可以创建您的基本Web 应用程序或桌面应用程序。

1.选择“文件”>“新建”>“F lex 项目”。

2.输入项目名称和位置。

默认位置为当前的工作空间。

3.对于应用程序类型,选择“Web”或“桌面”。

4.使用默认的Flex SDK,或浏览到另一安装的SDK。

单击“下一步”。

5.(可选)指定“服务器设置”。

6.指定“输出文件夹”。

如果未指定应用程序服务器,则位置位于您的项目文件夹内。

如果指定了应用程序服务器,输出服务器位于项目文件夹之外。

通常,将输出文件夹与服务文件放在一起。

7.单击“完成”,或者单击“下一步”以指定其它配置选项。

8.(可选)指定构建路径和其它配置选项。

9.单击“完成”。

Flex 库项目使用Flex库项目可以构建可在应用程序之间共享或分发给其他开发人员的自定义代码库。

swfobject

swfobject

使用js嵌入,如SWFObjectSWFObject是一个用于在HTML中方面插入Adobe Flash媒体资源(*.swf文件)的独立、敏捷的JavaScript模块。

该模块中的JavaScript脚本能够自动检测PC、Mac机器上各种主流浏览器对Flash插件的支持情况。

它使得插入Flash媒体资源尽量简捷、安全。

而且它是非常符合搜索引擎优化的原则的。

此外,它能够避免您的HTML、XHTML中出现object、embed 等非标准标签,从而符合更加标准。

下面是一个最简单的范例,其中DIV结点内的所有内容都会在客户端被Flash资源替换<script type="text/javascript" src="swfobject.js"></script><div id="flashcontent">This text is replaced by the Flash movie.</div><script type="text/javascript">var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699");so.write("flashcontent");</script>下面是SWFObject.js内容复制新建个txt 改下后缀就能用*** SWFObject v1.4.4: Flash Player detection and embed - /swfobject/ ** SWFObject is (c) 2006 Geoff Stearns and is released under the MIT License:* /licenses/mit-license.php** **SWFObject is the SWF embed script formerly known as FlashObject. The name was changed for* legal reasons.*/if(typeofdeconcept=="undefined"){vardeconcept=new Object();}if(typeofdeconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();} deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){if(!document.getElementById){ret urn;}this.DETECT_KEY=_b?_b:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",newdeconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(c){this.addParam("bgcolor",c);}var q=_8?_8:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",_7);this.setAttribute("doExpressInstall",false);var _d=(_9)?_9:window.location;this.setAttribute("xiRedirectUrl",_d);this.setAttribute("redirectUrl","");if(_a){this.setAttribute("redirectUrl",_a);}};deconcept.SWFObject.prototype={setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){returnthis.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){returnthis.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){returnthis.variables[_15];},getVariables:function(){returnthis.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16.push(key+"="+_18[key]);}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");}_19="<object id=\""+this.getAttribute("id")+"\"classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";} return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("versio n"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getA ttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirec tUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=newdeconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,"." ).split("."));}}else{try{varaxo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{varaxo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}return _23;};deconcept.PlayerVersion=function(_27){this.major=_27[0]!=null?parseInt(_27[0]):0;this.minor=_27[1]!=null?parseInt(_27[1]):0;this.rev=_27[2]!=null?parseInt(_27[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_29){var q=document.location.search||document.location.hash;if(q){var _2b=q.substring(1).split("&");for(var i=0;i<_2b.length;i++){if(_2b[i].substring(0,_2b[i].indexOf("="))==_29){return _2b[i].substring((_2b[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){if(window.opera||!document.all){return;} var _2d=document.getElementsByTagName("OBJECT");for(var i=0;i<_2d.length;i++){_2d[i].style.display="none";for(var x in _2d[i]){if(typeof _2d[i][x]=="function"){_2d[i][x]=function(){};}}}};deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};if(typeofwindow.onunload=="function"){var _30=window.onunload;window.onunload=function(){deconcept.SWFObjectUtil.cleanupSWFs();_30();};}else{window.onunload=deconcept.SWFObjectUtil.cleanupSWFs;}};if(typeofwindow.onbeforeunload=="function"){varoldBeforeUnload=window.onbeforeunload;window.onbeforeunload=function(){deconcept.SWFObjectUtil.prepUnload();oldBeforeUnload();};}else{window.onbeforeunload=deconcept.SWFObjectUtil.prepUnload;}if(Array.prototype.push==null){Array.prototype.push=function(_31){this[this.length]=_31;returnthis.length;};}vargetQueryParamValue=deconcept.util.getRequestParameter;varFlashObject=deconcept.SWFObject;varSWFObject=deconcept.SWFObject;。

SWFObject 2.0官方文档

SWFObject 2.0官方文档

主要内容:∙ 1 . 什么是SWFObject 2.0?∙ 2 . 为什么你应该使用SWFObject 2.0?∙ 3 . 为什么SWFObject 2.0使用JavaScript?∙ 4 . 我们应该使用静态发表还是动态发表的方法?∙ 5 . 怎样用SWFObject 2.0的静态发表方法来嵌入Flash内容o5-1 . 第一步:用符合标准的标签同时嵌入Flash内容和替换内容o5-2 . 第二步:在HTML的head标签中包括SWFObject的JavaScript 类库o5-3 . 第三步:用SWFObject类库注册你的Flash内容并告诉SWFObject 怎么样处理这些内容∙ 6 . 怎样用SWFObject 2.0的动态发表方法来嵌入Flash内容?o6-1 . 第一步:用符合标准的标签创建替换内容o6-2 . 第二步:在HTML页面的head标签中包括SWFObject JavaScript 类库o6-3 . 第三步:用JavaScript嵌入你的SWF∙7 . 从SWFObject 1.5迁移到SWFObject 2.0的注意事项∙8 . 从UFO迁移到SWFObject v2.0的注意事项∙9 . SWFObject支持MIME类型application/xhtml+xml吗?∙10 . 评论政策1 . 什么是SWFObject 2.0?SWFObject 2.0:▪提供两种优化的嵌入Flash Player的方法:一种基于标签的方法和一种依赖于JavaScript的方法。

▪提供一套JavaScript API,目的是提供一套完整的工具来嵌入SWF文件和获得Flash Player的相关信息。

[ /p/swfobject/wiki/SWFObject_2_0_api_javascript_dev ]▪只利用一个很小的JavaScript文件(size: 8.7Kb, GZIPed: 3.4Kb)。

SWF文件格式说明

Tag Format 标签格式
Each tag begins with a tag type and a length. There are two tag header formats, short and long. Short tag headers are used for tags with 62 bytes of data or less. Long tag headers can be used for any tag size up to 4GB, far larger than is presently practical. 每个标签都以标签类型和长度开头。标签头格式有两种,短型和长型。短型标签头用在数据
文件长度字段代表包括文件头整个文件的总长度.如果是一个未压缩的 SWF 文件(FWS 标识 符),文件长度字段表示文件的精确大小;如果是一个压缩的 SWF 文件(CWS 标识),文件长 度字段表示解压后文件的大小,这样一般就不是实际文件的大小了.让未压缩(解压后)的 大小可见,则可以使解压过程更加有 效.
If the tag is 63 bytes or longer, it is stored in a long tag header. The long tag header consists of a short tag header with a length of 0x3f, followed by a 32-bit length. 假如标签是 63 字节或者更长,它具有长型标签头。长型标签头就好像一个以 0x3f 开头的短 型标签头,后面跟着一个 32 位长度。
swf 文件格式说明书(中文+英文)
SWF 文件头
字段
类型
标识
8位
F 代表压缩

swfobject2.2参数详解(swfobject.embedSWF)

swfobject2.2参数详解(swfobject.embedSWF)swfobject2.2参数详解(swfobject.embedSWF)swfobject.embedSWF(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn);各个参数的含义:1--> swfUrlStr:要加载的SWF⽂件相对地址(包括路径、⽂件名、⽂件类型等)2--> replaceElemIdStr:加载的SWF将替代id为此字符串的页⾯元素;3--> widthStr:SWF加载后在页⾯中显⽰的宽度;4--> heightStr:SWF加载后在页⾯中显⽰的⾼度;5--> swfVersionStr:要播放此SWF⽂件所要使⽤的Flash Player最低版本;6--> xiSwfUrlStr:如果没有flash那就使⽤这个⾃动安装flash的⽂件 swfobject2.2源⽂件⾥有(其实是个空的swf⽂件;7--> flashvarsObj:这⾥是flashvars的值。

这个常⽤来作为html与flash之间传递参数,本来是在params对象中的属性,由于考虑到常⽤和⽅便,所以单独取了出来。

如果不需要传参可以设置为null;也可以设置成null,然后在param中写。

8--> parObj:下⾯是可能出现的属性及其解释;play: 表⽰是否⾃动播放,true(默认,⾃动)后者false(不⾃动);loop:表⽰是否循环播放,true(默认)或者false;menu:表⽰是否显⽰右键菜单,true(默认)或者false,注意,当为false时也并不是不显⽰所有的右键菜单,⼀般会留下“设置”、“全局设置”、“关于、、、、、”等⼏个菜单;quality:参数值: low | medium | high | autolow | autohigh | best, 默认为high;说明: (可选)指定在应⽤程序回放期间使⽤的消除锯齿级别。

activexobject的用法

ActiveXObject 是一种在JavaScript 中启用并返回Automation 对象的引用。

它通常用于在Internet Explorer 中执行ActiveX 控件,这是只能在Windows 操作系统上运行的特殊控件。

使用方法:
newObj = new ActiveXObject(servername.typename[, location])
其中:
* `newObj` 是必须的,是赋值为ActiveXObject 的变量名。

* `servername` 是必须的,提供该对象的应用程序的名称。

* `typename` 是必须的,要创建的对象的类型或类。

* `location` 是可选的,创建该对象的网络服务器的名称。

例如,假设我们有一个名为"WordApplication" 的应用程序,它提供了一个名为"Document" 的对象,我们可以像这样创建一个新的ActiveXObject:
```javascript
var objWord = new ActiveXObject("WordApplication.Document");
```
请注意,不是所有的浏览器都支持ActiveXObject。

由于安全和跨平台的问题,它的使用在很多浏览器上已经被废弃或限制。

Shockwave Flash Object 控件属性中各项功能

Shockwave Flash Object 控件属性中各项功能 2011-03-06 21:20 要设置动画播放的特定选项,请执行以下操作,完成后关闭“属性”对话框: 确保 Playing 属性设为 True。

该设置使幻灯片显示时自动播放动画文件。

如果 Flash 文件内置有“开始/倒带”控件,则 Playing 属性可设为 False。

如果不想让动画反复播放, 请在 Loop 属性中选择 False(单击单元格以显示向 下的箭头,然后单击该箭头并选择 False)。

要嵌入 Flash 文件以便将该演示文稿传递给其他人,请在 EmbedMovie 属性中 单击 True。

(但是,要运行 Flash 文件,任何运行该演示文稿的计算机都必须 注册 Shockwave Flash Object 控件。

) 要运行动画: 在幻灯片的普通视图下,单击 PowerPoint 窗口左下方的“幻灯片 放映”按钮(或按 F5 键,或在“幻灯片放映”菜单上单击“观看放映”)。

要退出幻灯片放映并返回普通视图,请按 ESC 键。

shockwave flash object 控件 2007-05-16 13:11 1.shockwave flash object 功能 虽然从 5.0 版本开始 Authorware 就直接支持播放 Flash 动画 (那将 Flash 动画 嵌入 Authorware 应用程序的内部), 但这种支持是有限的,在 Flash 动画中所包含的某些功能会失效,并且当所嵌 入的 Flash 动画比较大时,会严重影响程 序的运行速度。

使用 shockwave flash object 控件可以使在 Authorware 中加 入的 Flash 动画保持原有的功能,但 注意此时又失去了嵌入 Authorware 程序内部时所能灵活设置的层数、 透明的特 点。

因此在具体选用何种方式时要注 意根据具体情况来选择。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SWFObject: 基于Javascript的Flash 媒体版本检测与嵌入模块新功能详细的更新记录可以在SWFObject 1.5 blog post这里找到。

实现原理[对于急切需要下载的用户点击这里直接观看JS代码]SWFObject的使用是非常简单的,只需要包含swfobject.js这个js文件,然后在DOM中插入一些简单的JS代码,就能嵌入Flash媒体资源了。

下面是一个最简单的范例:<script type="text/javascript" src="swfobject.js"></script><div id="flashcontent">This text is replaced by the Flash movie.</div><script type="text/javascript">var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699");so.write("flashcontent");</script>让我们看看这些代码是如何工作的<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 的灵活性非常好。

您完全可以事先写好HTML的其他部分,最后再回过头来添加Flash内容。

这样可以确保在客户端没有Flash的情况下,用户不会一无所获;也可以确保针对搜索引擎,做了什么样的关键词优化。

您完全不用像以前那样担心客户端的各种状况SWFObject兼容当前各种主流浏览器,如:PC上的IE5/5.5/6, Netscape 7/8,Firefox, Mozilla, and Opera。

Mac上的IE5.2, Safari, Firefox, Netscape 6/7, Mozilla, and Opera 7.5+,各种浏览器的后续版本也会继续支持SWFObject检测Flash播放器版本从3开始到最新的版本号,而且也消灭了IE中“激活”的麻烦。

这里有相关背景。

SWFObject可以方便地检查版本细节,例如我们需要v.6.0 r65 (or 6,0,65,0) 来处理SWF 资源,就可以添加如下代码:var so = new SWFObject("movie.swf", "mymovie", "200", "100", "6.0.65", "#336699");SWFObject的版本检测可以人工忽略。

如果在特定环境下您不希望SWFObject检测版本号,那么只需要传递一个参数在HTML页面中,就可以了。

SWFObject可以捕获这个参数并且跳过检测,直接写入Flash嵌入代码到DOM中。

用于忽略版本检测的变量名是“detectflash”,以下是一个例子:<a href="mypage.html?detectflash=false">Bypass link</a>SWFObject 范例以上我们接触到的范例都最基础的,接下来我们列举一些其他功能,尤其是传入参数、变量这些使用频率较高的行为。

传入Flash内联参数的简单范例<script type="text/javascript">var so = new SWFObject("movie.swf", "mymovie", "200", "100%", "7", "#336699");so.addParam("quality", "low");so.addParam("wmode", "transparent");so.addParam("salign", "t");so.write("flashcontent");</script>这里可以看到Flash支持的内联参数列表:full list of the current parameters and their possible values(官方资源)采用"Flashvars"参数传入变量用Flashvars是在预加载Flash时传入数据的最佳做法,语法格式与GET变量串非常类似,如:variable1=value1&variable2=value2&variable3=value3SWFObject帮助您将这项工作变得更加明确化<script type="text/javascript">var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699");so.addVariable("variable1", "value1");so.addVariable("variable2", "value2");so.addVariable("variable3", "value3");so.write("flashcontent");</script>这些变量将会保存在_root这个MovieClip对象里。

SWFObject还可以方便地直接从URL中接受参数传入Flash中,例如你有这样一个URL:/page.html?variable1=value1&variable2=value2。

采用getQueryParamValue()方法你就可以轻松获取这些参数,并将它们传入Flash,例如:<script type="text/javascript">var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699");so.addVariable("variable1", getQueryParamValue("variable1"));so.addVariable("variable2", getQueryParamValue("variable2"));so.write("flashcontent");</script>getQueryParamValue()方法同样可以获取JavaScript的Location对象的hash值“location.hash”来与swf内部进行通信。

这里是一个采用SWFObject的应用程序,其中用到了location.hash对象:链接地址在SWFObject中应用Express Install (利用官方自动升级接口)SWFObject全面支持AdobeFlash播放器的自动升级功能(从6.0.65起的FlashPlayer支持在swf内部自动升级!),这样用户完全不用离开您的网页就能完成播放器的升级了。

首先,上传官方的expressinstall.swf到您的服务器上,然后使用useExpressInstall 方法指定这个swf文件的地址就可以了,例如:<script type="text/javascript">var so = new SWFObject("movie.swf", "mymovie", "200", "100", "8", "#336699");eExpressInstall('expressinstall.swf');so.write("flashcontent");</script>您可以安装一个低版本的Flash播放器然后访问这个页面看到效果在SWFObject原文件压缩包中您可以找到具体的使用细节,您可以自己定制ExpressInstall 的流程。

相关文档
最新文档