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

swfobject的使用

阅读更多

1 swfobject可以将swf文件嵌入到网页内,它是一个js文件,可以从这里下载:http://code.google.com/p/swfobject/

 

2 swfobject使用很简单,只要在网页<head></head>里加入对它的引用就可以使用了:

 

<script type="text/javascript" src="swfobject.js"></script>
 

3 下面是自己做的一个简单例子:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
	<head>
		<title>SWFObject 2 dynamic publishing example page</title>

		<script type="text/javascript" src="swfobject.js"></script>


		<script type="text/javascript">
			var flashvars = {};
			var params = {
				wmode : 'opaque'//加入这个参数后,那个嵌入的swf文件就不会被致于最上顶层,而是嵌入到指定的div里面
			};
			var attributes = {};

			//这个是js的一个方法,在FlexPaperTest.swf里面就指定了要调用js的getPath()方法,这个也是作不swf文件与js进行交互,传参的例子
			function getPath() {
				return "b.swf";//待显示的swf文件路径
			}
		
			swfobject.embedSWF("FlexPaperTest.swf", "showFileArea", "100%", "720",
					"9.0.0", "playerProductInstall.swf", flashvars, params, attributes);
	  </script>


	</head>
	<body>

		<!-- 下面这个是在留出一个div来供上面的要显示的swf使用,
			上面的embedSWF方法的第二个参数就是指定swf显示在页面的div的id。
			使用object的方法是会自动检测用户是否安装合适的flash插件,没有时,就要这个div层显示要下载相应的插件		
		-->
		<div id="showFileArea">
			<h1>
				Alternative content
			</h1>
			<p>
				<a href="http://www.adobe.com/go/getflashplayer"><img
						src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif"
						alt="Get Adobe Flash player" /> </a>
			</p>
		</div>

	</body>
</html>
 

 

转载再一下swfobject的使用:

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官方资源)

采用"Flashvars"参数传入变量

用Flashvars是在预加载Flash时传入数据的最佳做法,语法格式与GET变量串非常类似,如:variable1=value1&variable2=value2&variable3=value3SWFObject帮助您将这项工作变得更加明确化

<script type="text/javascript">
   var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
   so.addVariable("variable1", "value1");
   so.addVariable("variable2", "value2");
   so.addVariable("variable3", "value3");
   so.write("flashcontent");
</script>

这些变量将会保存在_root这个MovieClip对象里。

SWFObject还可以方便地直接从URL中接受参数传入Flash中,例如你有这样一个URL:http://www.example.com/page.html?variable1=value1&variable2=value2。采用getQueryParamValue()方法你就可以轻松获取这些参数,并将它们传入Flash,例如:

<script type="text/javascript">
   var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
   so.addVariable("variable1", getQueryParamValue("variable1"));
   so.addVariable("variable2", getQueryParamValue("variable2"));
   so.write("flashcontent");
</script>
 

getQueryParamValue()方法同样可以获取JavaScript的Location对象的hash值“location.hash”来与swf内部进行通信。这里是一个采用SWFObject的应用程序,其中用到了location.hash对象:链接地址

在SWFObject中应用Express Install(利用官方自动升级接口)

SWFObject全面支持AdobeFlash播放器的自动升级功能(从6.0.65起的FlashPlayer支持在swf内部自动升级!),这样用户完全不用离开您的网页就能完成播放器的升级了。

首先,上传官方的expressinstall.swf到您的服务器上,然后使用useExpressInstall方法指定这个swf文件的地址就可以了,例如:

<script type="text/javascript">
	   var so = new SWFObject("movie.swf", "mymovie", "200", "100", "8", "#336699");
	   so.useExpressInstall('expressinstall.swf');
	   so.write("flashcontent");
	</script>
 

 

您可以安装一个低版本的Flash播放器然后访问这个页面看到效果

在SWFObject原文件压缩包中您可以找到具体的使用细节,您可以自己定制ExpressInstall的流程。

如果您的Flash影片在弹出窗口中,或者您希望用户在完成了ExpressInstall后重定向到其他地址,你可以采用xiRedirectUrl属性,来自动完成这一步骤。例如:

<script type="text/javascript">
   var so = new SWFObject("movie.swf", "mymovie", "200", "100", "8", "#336699");
   so.useExpressInstall('expressinstall.swf');
   so.setAttribute('xiRedirectUrl', 'http://www.example.com/upgradefinished.html'); // must be the absolute URL to your site
   so.write("flashcontent");
</script>
 
分享到:
评论

相关推荐

    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还提供了可选参数,如画面质量...

    SWFObject 图形报表

    SWFObject是一种JavaScript库,主要用于在网页中嵌入Flash内容,提供了一...然而,随着HTML5和WebGL等现代Web技术的发展,Flash的使用正在逐渐减少,但SWFObject在维护遗留项目或特定场景下的应用仍然具有一定的价值。

Global site tag (gtag.js) - Google Analytics