SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块
请注意: 由于法律原因,FlashObject已经更名为SWFObject,详见这里。
内容导读
新功能
[对于急切需要下载的用户点击这里直接观看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(adobe.com官方资源)
分享到:
相关推荐
swfobject_modified.js
什么是SWFObject 2.0? • 2 . 为什么你应该使用SWFObject 2.0? • 3 . 为什么SWFObject 2.0使用JavaScript? • 4 . 我们应该使用静态发表还是动态发表的方法? 。。。。。。。。。。。。。。。。。。
SWFObject_2.0_使用方法
SWFObject是一个用于在HTML中方便插入Adobe Flash媒体资源(*.swf文件)的独立、敏捷的JavaScript模块。该模块中的JavaScript脚本能够自动检测PC、Mac机器上各种主流浏览器对Flash插件的支持情况。它使得插入Flash...
2、使用swfObject向页面中插入Flash文件。 3、使用Flash中的ExternalInterface.call方法和fscommand方法对JS进行调用与传送数据。 4、使用Flash中的ExternalInterface.addCallback方法创建接口,使JS能够调用AS中的...
什么是SWFObject 2.0? • 2 . 为什么你应该使用SWFObject 2.0? • 3 . 为什么SWFObject 2.0使用JavaScript? • 4 . 我们应该使用静态发表还是动态发表的方法? • 5 . 怎样用SWFObject 2.0的静态发表方法来...
最近看到了好几个Flash网站,head代码里都加载了一个swfobject.js,这个JS究 竟有什么作用呢?眼下正在做一个Web页面,说不定刚好可以派上用场。于是,好奇的搜索了一下。原来这是老外开发的,用于在HTML中方面插入...
swfobject可控buffer,真正1秒级实时性RTMP直播,下载后修改rtmp地址即可
SWFObject,新的swf嵌入方法,支持标准HTML语法
SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块 SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块 SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块
PHP版SWFObject 图片上传,缩略图生成,文件上传。前后台demo已经写好,可直接放在php环境运行。
flash swfobject.js实例360室内装饰图片全景查看
swfObject图片批量上传,很美观的界面,选好图片带预览效果,通过falsh进行上传,里面放了操作文档,和效果图,基本上前台和后台代码都在里面。 一开始下载的是asp.net版本,应本人是学java,在网上找到了些资料,...
swfobject+swffit实现flash嵌入网页自适应大小
swfobject_2_2.zip
swfobject2.2[支持透明] 用于在页面导入flash
SWFObject.js的简单应用,用于在网页嵌入swf文件,很easy
uploadify3.2.1版本,压缩文件中已包含swfobject.js,解压后可以直接使用