转:http://gray.topdrupal.com/SWFObject-dynamic
第一步:用符合标准的标签创建替换内容
SWFObject的动态嵌入方法遵循渐进增强(progressive enhancement)的原则,当浏览器对JavaScript和Flash插件有足够支持的时候,SWFObject会用Flash内容替换HTML内容。首先定义你的替换内容,并且为它添加一个id属性:
代码如下:
-
<!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 v2.0 dynamic embed - step 1</title>
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-
</head>
-
<body>
-
<div id="myContent">
-
<p>Alternative content</p>
-
</div>
-
</body>
-
</html>
第二步:在HTML页面的head标签中包括SWFObject JavaScript类库
SWFObject的JavaScript类库由一个外部JavaScript文件(大小:10.7Kb,GZIPed:3.5Kb)组成。 SWFObject会在外部JavaScript文件被加载后立即被执行,并且对于那些支持DomLoad事件的浏览器,例如 IE、Firefox、Safari和Opera 9+,SWFObject将会在DOM被加载后完成所有的DOM操作,而如果浏览器不支持DomLoad事件,所有DOM操作将会在页面的onload事件被触发后执行。
代码如下:
-
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-
<head>
-
<title>SWFObject v2.0 dynamic embed - step 2</title>
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-
<script type="text/javascript" src="swfobject.js"></script>
-
</head>
-
<body>
-
<div id="myContent">
-
<p>Alternative content</p>
-
</div>
-
</body>
-
</html>
第三步:用JavaScript嵌入你的SWF
swfobject.embedSWF(swfUrl, id, width, height, version, expressInstallSwfurl, flashvars, params, attributes)有5个必须的参数和4个可选的参数:
- swfUrl(String,必须的)指定SWF的URL。
- id(String,必须的)指定将会被Flash内容替换的HTML元素(包含你的替换内容)的id。
- width(String,必须的)指定SWF的宽。
- height(String,必须的)指定SWF的高。
- version(String,必须的)指定你发布的SWF对应的Flash Player版本(格式为:major.minor.release)。
- expressInstallSwfurl(String,可选的)指定express install SWF的URL并激活Adobe express install 。
- flashvars(String,可选的)用name:value对指定你的flashvars。
- params(String,可选的)用name:value对指定你的嵌套object元素的params。
- attributes(String,可选的)用name:value对指定object的属性。
注意:在不破坏参数顺序的情况下,你可以忽略可选参数。如果你不想使用一个可选参数,但是会使用后面的一个可选参数,你可以简单的传入false作为参数的值。对flashvars、 params和 attributes这些JavaScript对象来说,你也可以相应的传入一个空对象{}。
代码如下:
-
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-
<head>
-
<title>SWFObject v2.0 dynamic embed - step 3</title>
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-
<script type="text/javascript" src="swfobject.js"></script>
-
<script type="text/javascript">
-
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0");
-
</script>
-
</head>
-
<body>
-
<div id="myContent">
-
<p>Alternative content</p>
-
</div>
-
</body>
-
</html>
怎样配置你的Flash内容?
你可以为你的object元素添加下面这些常用的可选属性(attributes):
- id
- name
- styleclass(不使用class,因为class也是ECMA4的保留关键字)s
- align
你可以使用下面这些专用于Flash的可选param元素
- play
- loop
- menu
- quality
- scale
- salign
- wmode
- bgcolor
- base
- swliveconnect
- flashvars
- devicefont
- allowscriptaccess
- seamlesstabbing
- allowfullscreen
- allownetworking
怎样用JavaScript对象来定义你的flashvars、params和attributes?
你最好用对象的字面量(Object literal notation)来定义JavaScrpt对象,例如这样:
代码如下:
-
<script type="text/javascript">
-
var flashvars = {};
-
var params = {};
-
var attributes = {};
-
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0","expressInstall.swf", flashvars, params, attributes);
-
</script>
你可以在定义对象的时候添加你的name:value对(注意:请确保不要再对象中的最后一个name:value对后面加上逗号):
-
<script type="text/javascript">
-
var flashvars = {
-
name1: "hello",
-
name2: "world",
-
name3: "foobar"
-
};
-
var params = {
-
menu: "false"
-
};
-
var attributes = {
-
id: "myDynamicContent",
-
name: "myDynamicContent"
-
};
-
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0","expressInstall.swf", flashvars, params, attributes);
-
</script>
或者在对象创建之后用点号添加属性(properties)和值:
-
<script type="text/javascript">
-
var flashvars = {};
-
flashvars.name1 = "hello";
-
flashvars.name2 = "world";
-
flashvars.name3 = "foobar";
-
var params = {};
-
params.menu = "false";
-
var attributes = {};
-
attributes.id = "myDynamicContent";
-
attributes.name = "myDynamicContent";
-
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0","expressInstall.swf", flashvars, params, attributes);
-
</script>
上面的代码也可以这样写(为那些喜欢单行代码的顽固脚本程序员准备的不易读的简写版本):
-
<script type="text/javascript">
-
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0","expressInstall.swf", {name1:"hello",name2:"world",name3:"foobar"}, {menu:"false"}, {id:"myDynamicContent",name:"myDynamicContent"});
-
</script>
如果你不想使用一个参数,你可以将它定义为false或者一个空对象:
-
<script type="text/javascript">
-
var flashvars = false;
-
var params = {};
-
var attributes = {
-
id: "myDynamicContent",
-
name: "myDynamicContent"
-
};
-
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0","expressInstall.swf", flashvars, params, attributes);
-
</script>
flashvars对象是一个为了增加易用性而设计的作为快捷方式的参数,所以你可以先忽略它,然后在params对象中指定你的flashvars:
-
<script type="text/javascript">
-
var flashvars = false;
-
var params = {
-
menu: "false",
-
flashvars: "name1=hello&name2=world&name3=foobar"
-
};
-
var attributes = {
-
id: "myDynamicContent",
-
name: "myDynamicContent"
-
};
-
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0","expressInstall.swf", flashvars, params, attributes);
-
</script>
提示
- 使用SWFObject 2.0 HTML和JavaScript代码生成器(SWFObject 2.0 HTML and JavaScript generator)来帮助你创建代码:。
- 重复第一步和第三步来在一个HTML页面里面嵌入多个SWF文件。
分享到:
相关推荐
怎样用SWFObject 2.0的动态发表方法来嵌入Flash内容? o 6-1 . 第一步:用符合标准的标签创建替换内容 o 6-2 . 第二步:在HTML页面的head标签中包括SWFObject JavaScript类库 o 6-3 . 第三步:用JavaScript嵌入...
2、使用swfObject向页面中插入Flash文件。 3、使用Flash中的ExternalInterface.call方法和fscommand方法对JS进行调用与传送数据。 4、使用Flash中的ExternalInterface.addCallback方法创建接口,使JS能够调用AS中的...
SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块 SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块 SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块
swfobject+swffit实现flash嵌入网页自适应大小
使用.js方式将flash嵌入web页面,内含示例及源码!
SWFObject是一个用于在HTML中方便插入Adobe...它使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。此外,它能够避免您的 HTML、XHTML中出现object、embed等非标准标签,从而符合更加标准。
swfobject.js很有用的页面嵌入flash文件的javascript
HTML插入Flash的全兼容完美解决方案-SWFObject
插入flash代码 ,可以直接设置flash的参数
准备整合所有已存在的Flash Player嵌入方法,并且为嵌入Adobe Flash Player内容提供一个新的标准。 是一个由Geoff Stearns、 Michael Williams和 Bobby van der Sluis创建的开源项目,前身是SWFFix [ ...
Flash 嵌入的问题朋友们可能认为很简单,但是具体到一些问题上来讲,就不是那么简单了,比如:IE浏览器对FLASH的拦截虚框怎么去掉?在FF、OP、NS等其它浏览器是否兼容?代码是否符合W3C标准??等等
swfobject 网页载入flash swf JavaScript 代码
swfobject2.2,一种易用的、符合标准的在网页中嵌入flash对象的方法,你只需要在网页中引用一个小 巧的js文件
swfobject.js swfaddress.js swffit.js等资源与全屏flash页面的应用。 swfobject.js为2.2版本,判断用户flash player版本,向swf传递参数等。 swfaddress.js的作用是在不刷新网页的情况下为地址栏更换地址,并可...
SWFObject是一种易用的、符合标准的在网页中嵌入flash对象的方法,你只需要在网页中引用一个小 巧的js文件。
它使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。此外,它能够避免您的 HTML、XHTML中出现object、embed等非标准标签,从而符合更加标准。该资源为2.2版本,其中包含了英文API文档。
介绍一款用JavaScript写的向网页中轻松检测和嵌入flash的脚本。
修改自Google工程师写的那个swfobject 2.2版本 删除掉一些不常用的功能减少文件大小 并增加一种更人性化的FLASH插入标签 格式型如 如<flash id="Mack" name="Mack" src="RightClick.swf" width="560" height="420" ...
支持flv视频等等 SWFObject是一个用于在...它使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。此外,它能够避免您的 HTML、XHTML中出现object、embed等非标准标签,从而符合更加标准。