网络编程
位置:首页>> 网络编程>> JavaScript>> SWFObject1.5: 基于Javascript的Flash媒体版本检测与嵌入模块

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

作者:163CEO 来源:163 UED Team 发布时间:2009-08-06 18:02:00 

标签:javascript,SWFObject,flash

SWFObject的使用是非常简单的,只需要包含 swfobject.js这个js文件,然后在DOM中插入一些简单的JS代码,就能嵌入Flash媒体资源了。

一、优点:

1、SWFObject 的灵活性非常好。完全可以事先写好HTML的其他部分,最后再回过头来添加Flash内容。这样可以确保在客户端没有Flash的情况下,用户不会一无所获;也可以确保针对搜索引擎,做了什么样的关键词优化。完全不用像以前那样担心客户端的各种状况;

2、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+,各种浏览器的后续版本也会继续支持;

3、SWFObject检测Flash播放器版本从3开始到最新的版本号,而且也消灭了IE中“激活”的麻烦;

4、SWFObject可以方便地检查版本细节,例如我们需要v.6.0 r65 (or 6,0,65,0) 来处理SWF资源,就可以添加如下代码:

var so = new SWFObject(”movie.swf”, “mymovie”, “200″, “100″, “6.0.65″, “#336699″);

5、SWFObject的版本检测可以人工忽略。如果在特定环境下不希望SWFObject检测版本号,那么只需要传递一个参数在HTML页面中,就可以了。SWFObject可以捕获这个参数并且跳过检测,直接写入Flash嵌入代码到DOM中。用于忽略版本检测的变量名是“detectflash”,以下是一个例子:

<a href=”mypage.html?detectflash=false”>Bypass link</a>

二、使用说明:

<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以及对用户体验方面非常有必要。

(2)、“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需要的版本号,它可以详细到 ‘主版本号.小版本号.细节‘,例如:“9.0.28“。一般地,我们只需传入主版本即可,例如:“9″。

background-color - Flash资源的背景色,16进制格式

此外,还有如下可选参数:

quality - 画面质量,默认为“high”;

xiRedirectUrl - 如果的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>

redirectUrl - 没有安装相应版本的播放器后自动跳转的目标地址;

detectKey - 这是当忽略检测时,SWFObject将去url地址中查找的变量,默认值为“detectflash”;


(3)、so.write(”flashcontent”):

将Flash资源应用到DOM里,在浏览器显示出来;

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com