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

swfobject 的使用

 
阅读更多
应用地址:http://www.lichengyijing.com

“SWFObject”是利用Javascript 插入flash,好处多多,代码简洁,不会出现IE6下的“单击此处以激活控件”的提示,并且能通过W3C验证。不同于传统的“object”插入flash的方法。

SWFObject在新的2.x版本中,其最简单的调用竟只需一句话,并且不需要等待页面加载完成,这意味着你可以将这句话写在页面的任何地方。比以前的版本,要简便多了。下面来看几个简单常用的调用方法:

1、最简单,最基本,只要想插入flash都能用到的经典一句话。

<script type="text/javascript" src="swfobject.js"></script> 
<script type="text/javascript"> 
    swfobject.embedSWF("test.swf", "swfid", "300", "120", "9.0.0", "expressInstall.swf"); 
</script>

<div id="swfid"></div>

参数注解:调用方法embedSWF——插入SWF文件,参数依次是:
@swf文件的地址;
@用于装入swf文件的容器(如div)的id;
@flash的宽度;
@flash的高度(当然,这里的宽高都可以使用诸如100%这样的百分比来表示);
@正常播放该flash所需的最低版本;
@当版本低于要求时,执行该swf文件,这里利用这个flash跳转到官方下载最新版本的flash插件。(该参数可以省略)
在同一个页面插入多个flash到不同位置时,只要重复上面的语句,使用不同的容器id就可以了。

2、给swf文件传递参数、变量、属性的调用方法



<script type="text/javascript" src="swfobject.js"></script> 
<script type="text/javascript"> 
//1、使用Json初始化变量、参数、属性 
    var flashvars = { 
      name1: "hello", 
      name2: "world", 
      name3: "foobar" 
    }; 
    var params = { 
      menu: "false" 
    }; 
    var attributes = { 
      id: "dynamicContent2", 
      name: "dynamicContent2" 
    }; 
    swfobject.embedSWF("test6_flashvars.swf", "content2", "300", "120", "6.0.0", "expressInstall.swf", flashvars, params, attributes); 


//2、传统的初始化设置,效果一样
  
 var flashvars = {}; 
    flashvars.name1 = "hello"; 
    flashvars.name2 = "world"; 
    flashvars.name3 = "foobar"; 
    var params = {}; 
    params.menu = "false"; 
    var attributes = {}; 
    attributes.id = "dynamicContent3"; 
    attributes.name = "dynamicContent3"; 
    swfobject.embedSWF("test6_flashvars.swf", "content3", "300", "120", "6.0.0", "expressInstall.swf", flashvars, params, attributes); 
//3、直接写在后面,就一句话,简洁剽悍,不拖泥带水 
    swfobject.embedSWF("test6_flashvars.swf", "content5", "300", "120", "6.0.0", "expressInstall.swf", {name1:"hello",name2:"world",name3:"foobar"}, {menu:"false"}, {id:"dynamicContent5",name:"dynamicContent5"}); 
</script>
 


SWFObject Downland
http://code.google.com/p/swfobject/
分类: Javascript
swfobject.js,这个JS究竟有什么作用呢
[来源引用]
http://www.cnblogs.com/buffer/archive/2010/05/28/1746015.html

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

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


只需要包含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在

<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的方式给Flash的Root添加变量,对于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标签写出来。这里 在调用过来。

分享到:
评论

相关推荐

    swfobject

    **SWFObject:高效插入Flash内容的技术** SWFObject 是一个JavaScript库,广泛用于在网页中无缝、动态地插入...尽管Flash已经过时,理解SWFObject的工作原理和使用方法,对于理解Web发展历史和技术变迁仍然很有价值。

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

    2. **工作原理**:SWFObject使用的主要方法是`swfobject.embedSWF()`。这个函数接收多个参数,包括SWF文件的URL、在网页中的宽度和高度、替代内容(在用户没有Flash时显示)、Flash版本号等。通过动态创建`&lt;object&gt;`...

    官网swfObject

    1. **Flash内容的嵌入**:swfObject使用JavaScript动态插入`&lt;object&gt;`和`&lt;embed&gt;`标签,从而实现Flash内容的跨浏览器兼容性。 2. **Flash检测**:swfObject可以检查用户的浏览器是否安装了Flash Player,并确定其...

    SWFObject_2.0_使用方法

    - 使用 SWFObject 提供的函数 `swfobject.registerObject` 或 `swfobject.embedSWF` 来注册 Flash 内容,配置必要的参数如 Flash 文件路径、ID、属性等。 ### 6. 怎样用 SWFObject 2.0 的动态发布方法来嵌入 Flash ...

    js > swfobject.js 使用

    在JavaScript中,使用SWFObject.js提供的函数来检测Flash Player并嵌入SWF文件。以下是一个基本示例: ```javascript var flashvars = {}; // 用于传递给Flash的变量 var params = {}; // 用于设置Flash参数,...

    swfobject 2.0

    标签"swfobject"表明这个主题与SWFObject库相关,可能包括其使用方法、配置选项、解决常见问题等内容。 在压缩包文件"swfobject"中,可能包含了SWFObject库的源代码、示例文件、文档和教程。这些资源对于初学者来说...

    swfobject 2.1

    SWFObject 是一款广泛使用的JavaScript库,主要用于在网页中无缝地嵌入Adobe Flash内容。它的主要功能是实现Flash Player的检测、版本检查以及自动插入和替换HTML内容,确保无论用户是否安装了合适的Flash版本,网页...

    SWFObject

    SWFObject是一种广泛使用的JavaScript库,用于在网页中无缝嵌入Adobe Flash内容,如动画、视频或游戏。这个库由格雷格·劳(Greg Laue)创建,旨在提供一个优雅的解决方案,使得Flash内容能够在各种浏览器和设备上以...

    SWFObject2.2

    SWFObject由格雷格·劳瑞(Greg Lawry)开发,其2.2版本是一个稳定且广泛使用的版本。 在HTML网页中插入Flash通常涉及到复杂的代码和浏览器兼容性问题,尤其是考虑到IE、Firefox、Chrome、Safari等不同浏览器对...

    rtmp-swfobject-master.zip

    通过解压并分析这些文件,我们可以深入了解如何使用SWFObject来构建RTMP直播系统。 首先,我们需要找到并修改RTMP服务器的地址。在SWFObject中,RTMP服务器的URL通常作为参数传递给Flash播放器,以便播放器知道从...

    swfobject2.2

    通过使用SWFObject,开发者可以实现跨浏览器的Flash支持,同时确保非Flash用户能够看到替代内容,提升网页的用户体验。 ### 1. **嵌入方式** SWFObject 2.2 提供了一种优雅的“渐进增强”方法来嵌入SWF(Shockwave...

    swfobject_modified.js

    swfobject_modified.js

    swfobject 应用

    4. **调用 SWFObject**:使用 JavaScript 调用 SWFObject 的方法,如 `swfobject.embedSWF()` 来嵌入 Flash。 5. **优雅降级**:提供 HTML 替代内容,以确保不支持 Flash 的用户也能看到有意义的信息。 **四、示例...

    SWFObject 插件

    4. **编写JavaScript代码**:使用SWFObject的`swfobject.embedSWF()`函数来指定SWF文件路径、容器ID、尺寸以及其他参数。 5. **提供HTML备选内容**:在预留的`&lt;div&gt;`中,添加HTML备选内容,这样在用户无法查看Flash...

    SWFObject v1.5简介

    ### SWFObject v1.5 简介 SWFObject是一种用于网页中轻松检测和嵌入Adobe Flash内容的JavaScript库。它最初是为了简化Flash内容的集成与优化用户体验而设计的。随着网络技术的发展,虽然Flash已经不再流行,但了解...

    jquery uploadify 以及swfobject.js

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

    swfobject-master.zip

    5. **docs**或**readme**文件:可能包含SWFObject的文档和使用指南,帮助开发者理解和应用这个库。 6. **flash**文件夹:可能包含SWF格式的Flash Player文件,这是播放FLV视频所必需的。 通过解压并研究这些文件,...

    SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块

    3. 使用JavaScript创建`SWFObject`实例,传入SWF文件路径、ID、宽度、高度、所需的Flash Player版本等参数。 4. 调用`so.write()`方法将Flash对象写入到指定的HTML元素中。 SWFObject还提供了可选参数,如画面质量...

Global site tag (gtag.js) - Google Analytics