[原]as3 flash web 应用 (6)swfobject的使用:将flash嵌入页面
发布时间:2020-12-15 06:46:49 所属栏目:百科 来源:网络整理
导读:2010年06月17日 星期四 19:41 由于某度过于恶心等众所周知的原因,搬离写了5年的渣度空间,准备把技术性的文章定在CSDN了。这些都是文章备份。勿怪。。 (鉴于最近有些抓取机器和抄袭者,把标题的【原】字都复制,我不得不声明:本文为 yukon12345原创,转载
2010年06月17日 星期四 19:41 由于某度过于恶心等众所周知的原因,搬离写了5年的渣度空间,准备把技术性的文章定在CSDN了。这些都是文章备份。勿怪。。 接下来要推荐的是开源插件swfobject(在src文件夹有所有源码) swfobject下载:http://code.google.com/p/swfobject/ (右边有最新版链接) swfobject是比较流行的使用js而非使用<embed><object>插入flash影片的js插件,除了插入flash之外,还提供向flash传递值,检测浏览器版本,简化加载过程的作用,甚至还可以让低版本flash player的用户不离开本页面而自动升级,最新的2.2版甚至还添加了对iphone嵌入mp4的支持,以及对HTML5的<!doctype html>文档标签类型的支持。 中文使用说明:http://wenku.baidu.com/view/6c49d27da26925c52cc5bff3.html 向外开放的程序接口:http://code.google.com/p/swfobject/wiki/api 看到这么多,昏了吧?来直接进入关键主题: 把swf嵌入网页中: <html> <script type="text/javascript" src="swfobject.js"></script> //这里先要引入这个swfobject插件 <script type="text/javascript"> swfobject.embedSWF("your.swf","flashcontent","300","120","9","expressInstall.swf"); </script> <div id="flashcontent"> This text is replaced by the Flash movie. //这里是如果js被禁用,导致无法加载时的显示文字 </div> </html> 这样就完成了。很简单 解释: 直接使用swfobject.embedSWF()即可导入参数的意义各如下: 1:("your.swf") 你想导入的swf的地址 2:("flashcontent" )指出flash将放入的div的ID号。同时也是flash的ID号。另外如果想用css的话 div#flashcontent可选择div,object#flashcontent可选择flash 3:(“300”)宽度 4:("120")高度 5:("9")最低要求版本号。将检测是否小于此版本号 6:("expressInstall.swf")如果版本过低,将导入的安装文件。让用户可以在此页面自动升级。 以上是最简单的swf文件导入。 更复杂一点的:将各种参数传递给flash: <html> <script type="text/javascript" src="swfobject.js"></script> <script type="text/javascript"> var flashvars={ name1:"hello",name2:"world" } var params={ menu: "false" } var attributes = { id: "myDynamicContent",//注意:在这里不设置时flash影片的id值将继承于它的html父容器的id,设置后,flashid将会是此设置值(加载完毕响应函数callbackFn执行时,id还是原来的。之后就会改变) name: "myDynamicContent" } function callbackFn(e) { if(e.success) { alert("flash加载成功!n id:"+e.id+"n引用:"+e.ref) } else{ alert("flash加载失败!n id:"+e.id) } } swfobject.embedSWF("你的文件名地址.swf","10","expressInstall.swf",flashvars,params,attributes,callbackFn); </script> <div id="flashcontent"> This text is replaced by the Flash movie. </div> </html> 解释: flashvars:传递给flash影片的URL类型参数。作用同于原始的 *.swf?name1="hello"&name2="wolrd"。as3中使用loaderInfo.parameters数组来获取参数值。比如使用loaderInfo.parameters['name1']获取到hello params:flash的params标签值。作用同于原始的<param name=" menu" value="false" /> attributes:flash属性值作用同于<object classid="clsid:F08DF954-8592-11D1-B16A-00C0F0283628" id="Slider1" width="100" height="50"> 关于最后一个事件回调参数callbackFn,它接收一个object对象比如e,在加载flash完毕或者失败后响应执行。e对象属性有: success,指出是否加载成功(true/false) id,指出使用swfobject.registerObject()接口注册的flash的id (swfobject.registerObject接口在初始化时会自动调用) ref,当加载成功时,返回HTML对象元素的引用,失败时返回undefined。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |