加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

[原]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了。这些都是文章备份。勿怪。。
(鉴于最近有些抓取机器和抄袭者,把标题的【原】字都复制,我不得不声明:本文为 yukon12345原创,转载请注明出处http://blog.csdn.net/yukon12345)


接下来要推荐的是开源插件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。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读