`
iamweiming
  • 浏览: 40990 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

swfobject.js,这个JS究竟有什么作用呢(转)

 
阅读更多

最近看到了好几个Flash网站,head代码里都加载了一个swfobject.js,这个JS究 竟有什么作用呢?眼下正在做一个Web页面,说不定刚好可以派上用场。于是,好奇的搜索了一下。原来这是老外开发的,用于在HTML中方面插入Adobe Flash媒体资源(*.swf文件)的独立、敏捷的JavaScript模块,该模块中的JavaScript脚本能够自动检测PCMac机器上各种 主流浏览器对Flash插件的支持情况。目前最新的版本是2.2,这里可以下载最新版的SWFObject:
http://code.google.com/p/swfobject/

发现用它的好处多多啊:
1.IE
中没有讨厌的虚框问题了。
2.
提供了完善的版本检测功能,如果版本不够则显示其他东西,比如图片或文字。
3.
易于使用,只要在页面头加载一个 .js 文件,然后 HTML 写一个容器,里面放普通的文本或图片(用于无法显示 Flash 时显示),最后用脚本来替换这个元素里面的内容为 Flash
4.
使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。
5.
能够避免HTMLXHTML中出现objectembed等非标准标签,从而符合更加标准。


只需要包含 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值,它将用于给embedobject标签设定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

<script type="text/javascript">
</script>

之间加入多个参数来实现各个效果,参数很多,但是实际只要一点点。我们可以看下这样的代码:

<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
   var so = new SWFObject("movie.swf", "mymovie", "400", "100%", "8", "#336699"); 
   so.addParam("quality", "low");
   so.addParam("wmode", "transparent");
   so.addParam("salign", "t");
   so.addVariable("variable1", "value1");
   so.addVariable("variable2", "value2");
   so.addVariable("variable3", "value3");
   so.addVariable("variable1", getQueryParamValue("variable1"));
   so.addVariable("variable2", getQueryParamValue("variable2"));
   so.write("flashcontent");
</script>

这段代码给出了SWFObject的常用参数:

   var so = new SWFObject(swf, id, width, height, version, background-color [, quality, xiRedirectUrl, redirectUrl, detectKey]);
   so.addParam("Param1", "Param2");
   so.addParam("Param3", "Param4");
   so.addParam("Param5", "Param6");
   so.addVariable("variable1", "value1");
   so.addVariable("variable2", "value2");
   so.addVariable("variable3", "value3");
   so.addVariable("variable1", getQueryParamValue("variable1"));
   so.addVariable("variable2", getQueryParamValue("variable2"));
   so.write("content");

解释一下这些参数的作用:

   var so = new SWFObject(swf, id, width, height, version, background-color [, quality, xiRedirectUrl, redirectUrl, detectKey]);         //这段是SWFObject必须的基本参数,所有SWFObject都必须包含的。
   so.addParam("Param1", "Param2");   //
这里是给Flash添加内联参数,可以实现诸如背景透明之类的效果。依照需求添加就可以了,参数和emded/object标签是一样的代码,下同。
   so.addParam("Param3", "Param4");
   so.addParam("Param5", "Param6");
   so.addVariable("variable1", "value1");    //
这里是给Flash添加FlashVar,这是以FlashVar的方式给FlashRoot添加变量,对于Number型变量在Flash端需要 做类型转换。
   so.addVariable("variable2", "value2");
   so.addVariable("variable3", "value3");
   so.addVariable("variable1", getQueryParamValue("variable1"));   //Flash
获取URL变量对于url?arg1=test1&arg2=test2这样用GET方式传递变量的URL,我们可以用 getQueryParamValue方法来获取变量。
   so.addVariable("variable2", getQueryParamValue("variable2"));
   so.write("content");    //
这里是至关重要的一个地方,他是用一段特定内容取代Flash无法显示时的内容。可以事先在CSS里定义好样式,在文档里使用div标签写出来。这里 在调用过来。

 

转自:http://www.cnblogs.com/buffer/archive/2010/05/28/1746015.

分享到:
评论

相关推荐

    swfobject.js

    swfobject.js很有用的页面嵌入flash文件的javascript

    js > swfobject.js 使用

    **JavaScript与SWFObject.js详解** 在Web开发中,JavaScript是一种强大的客户端脚本语言,而SWFObject.js是一个用于在HTML页面中嵌入Adobe Flash内容的JavaScript库。这个库广泛应用于那些希望在网页中集成多媒体...

    使用SWFObject.js文件嵌入swf文件的应用

    7. **文件列表分析**:由于提供的文件列表中只有"SWF",我们可以推断这个压缩包可能包含了一个示例SWF文件,用于演示如何使用SWFObject.js进行嵌入。通常,你还需要SWFObject.js的JavaScript库文件以及包含Flash内容...

    jquery uploadify 以及swfobject.js

    jQuery Uploadify和SwfObject.js是两个广泛使用的JavaScript库,它们使得文件上传变得更加便捷和用户友好。本文将深入探讨这两个工具的原理、使用方法及它们在实际项目中的应用。 首先,我们来了解jQuery Uploadify...

    flash swfobject.js实例360室内装饰图片全景查看

    在这个“360室内装饰图片全景查看”的实例中,我们将探讨如何使用Flash和SWFObject.js来实现一个交互式的室内装饰展示。 首先,SWFObject.js的主要功能是检测用户浏览器是否支持Flash,如果支持,则插入SWF文件;...

    swfobject.js代替JavaScript实现点击按钮显示Flash动画

    在这个场景下,`swfobject.js` 是一个非常实用的工具,它能够帮助开发者更方便地嵌入和控制Flash内容,而无需编写大量的JavaScript代码。本文将详细讲解如何利用`swfobject.js`来实现在点击按钮后显示Flash动画的...

    知识地图,swfobject.js

    为了实现一个可分类显示并能向下转取的知识地图,开发者需要编写JavaScript代码来处理数据结构,这通常是一个树形结构,每个节点代表一个知识点或类别。当用户点击某个节点时,JavaScript会触发SWFObject.js的更新,...

    uploadify(含swfobject.js)

    在Uploadify 3.2.1版本中,SWFObject.js已经被包含在压缩包内,这意味着用户无需单独下载SWFObject,解压后即可直接在项目中应用Uploadify。SWFObject是一个小巧但强大的JavaScript库,它的主要作用是检测用户的...

    SWFObject.js Flash性能增强插件

    SWFObject.js是一款广泛使用的JavaScript库,专门设计用于在网页中插入、管理和优化Adobe Flash内容。这个插件的出现,主要是为了解决早期Flash在网页中的集成问题,尤其是在不同浏览器和平台上的兼容性问题。通过...

    swfobject_modified.js

    swfobject_modified.js

    flash网站常用js支持(swfobject swfaddress swffit)

    swfaddress.js的作用是在不刷新网页的情况下为地址栏更换地址,并可实现访问这个地址时也同时接受到参数。注:除js文件外请详细看.fla文件,在本地测试无法观看到地址栏的结果,请放置到服务器IIS环境。 swffit.js...

    Flash 性能增强插件无虚边框 SWFObject.js.zip

    SWFObject是一个JavaScript库,它的主要功能是实现Flash内容在网页上的无缝集成。这个插件特别强调了性能增强和消除虚边框的问题,这在处理Flash对象时是非常关键的。 1. **Flash与HTML5的对比**:Flash曾经是实现...

    swfobject.js 去掉网页上Flash的虚线框.rar

    swfobject.Js 2.2 去除网页上Flash(SWF文件)的多余虚线框,细心的网友都会发现,以前在网页上显示Flash动画的地方...这样给用户带来了极大的不便,使用swfobject.Js文件就可以很好的解决这个问题,将虚线框完全去除。

Global site tag (gtag.js) - Google Analytics