Flash插件版本低 网站帮你升级

技术与开发

在浏览带有Flash动画的网页时,如果本机没有安装Flash插件或者Flash插件版本过低,就会自动弹出Flash插件供访客下载安装。我对这个功能十分好奇,想知道这些网站是怎么做到的?

这个功能很简单,不需要很高深的编程知识。我们只须把高版本的Flash的播放插件Swflash.cab放置到Web服务器的主目录下,借助网页编辑工具Dreamweaver修改其Script脚本中的Codebase部分,使网页中的Flash控件指向Web服务器的路径。这样当检测到网友无Flash播放插件或者插件版本低于Web服务器的版本时,就会提示用户从Web服务器下载CAB文件并自动安装。

Codebase指向网站的CAB文件,其功能是当检测到访客计算机中的插件不能显示或者播放网页的内容时,自动从Codebase指向的Web服务器下载CAB文件后提示安装。我们只须修改Codebase中所指Web服务器的域名和相应的CAB文件即可实现许多插件的安装。

小知识:CAB(Cabinet)文件是Microsoft制定的压缩包格式文件,一个CAB文件包含一个或多个文件及其安装信息文件(比如需要安装哪些DLL文件、哪些图片资源,以及注册表信息等等)的压缩版本。它可以支持Web自动下载安装。

6-f09-3.jpg

第一步:下载高版本的Flash播放插件Swflash.cab放到Web服务器的主目录下。打开Dreamweaver,新建一个Flash.htm,并在Dreamweaver环境下点击菜单“Insert→Media→Flash”,添加一个Flash动画,当网友浏览Flash.htm页面时就可以看到SWF文件了(图1)。

6-f09-4.jpg
图1

第二步:选中我们添加的Flash控件,并修改Script脚本文件中的Codebase,修改后的代码如下:

<html>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"

// class ID是类标志码,也可以缩写为CLSID。对于每个组件类,都需要分配一个唯一表示它的代码,就是ID。

codebase="http://10.23.32.118:8081/swflash.cab#version=7,0,0,0" width="263" height="60">

//指向的Web服务器的IP地址为:10.23.32.118。

//指向的文件为:主目录下的Swflash.cab文件。

//#version表示CAB的版本号为7,0, 0,0(服务器主目录下放置的Swflash.cab文件的版本号必须和代码中的一致,本例中采取的版本号为7,0,0,0)。

//SWF文件的宽度为263,高度为60

<param name=movie value="BALL.swf">//链接的SWF的文件名为BALL.swf。

<param name=quality value=high>//播放质量默认为High。

<embed src="BALL.swf" quality=high

pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Pr od_Version=ShockwaveFlash" type="app lication/x-shockwave-flash" width="263" height="60">

</embed>

</object>

<html>

第三步:把做好的Flash.htm、BALL.swf和我们在网上下载的Swflash.cab放置到C:\Inetpub\wwwroot目录下(图2),再把Flash.htm、BALL.swf、Swflash.cab文件上传到我们申请的主页空间。这样当客户端用IE、傲游等浏览器打开Flash.htm时,如果客户端没有安装Flash插件,就会自动提示用户下载安装。

6-f09-5.jpg
图2

总结

修改Codebase脚本使之指向我们web服务器中的CAB文件,当网友浏览网页的时候自动提示下载安装的技术可以实现很多功能,比如自动下载安装电影播放插件,可以使网友在我们的页面上在线观看电影;自动下载安装日历插件,可以给网友安装一个炫目的日历等等。