用swfobject实现FlashPlayer8的快速安装(Express Install)

我曾经介绍过使用swfobject在页面中加入Flash影片的方法,也制作了一个基于swfobject的发布模版。实际上,除了swfobject,Adobe也有对应的解决方案,但是由于我感觉没有swfobject好用,就没有介绍,也从未使用过。

现在,Adobe发布了Flash Player Detection Kit 1.5,使用它的方式在页面中嵌入Flash影片,并支持Flash Player 8快速安装(ExpessInstall),我详细研究了Adobe的源码,发现使用起来非常麻烦。那么,swfobject能实现快速安装么?当然可以!而且非常的简单!看看下面的JavaScript代码:

1<script src="/swfobject.js" type="text/javascript"></script>
2<p id="flashcontent">   	您的浏览器不支持JavaScript,或者您禁用了JavaScript。
3请启用浏览器的JavaScript支持。
4如果您确认启用了JavaScript,请使用下面的链接升级Flash Player到最新版本
5<a href="http://www.adobe.com/go/getflash/">安装最新的Flash Player插件</a>
6<script type="text/javascript">    var so = new SWFObject("/flashmovie.swf", "mymovie", "200", "100", "8", "#336699", "true");    so.write("flashcontent"); </script>

swfobject的使用一文中,最大的改变就是在声明so时,在最后面添加了一个参数true。这个参数告诉swfobject:我们要使用快速安装功能。当然,我们要把需要的Flash Player版本设置成8。

如果希望在升级成功之后跳转到一个特定的页面,可以使用下面的代码(加在so的定义下方):

1so.setAttribute('xiRedirectUrl', 'http://www.zengrong.net'); //必须使用绝对URL,即以http://开头

如果不指定xiRedirectUrl,在升级完毕后,会重新跳转到当前页面。

同时,下载这个as文件,将它放在fla文件相同的目录:

1 文件

在fla的 _root 第一帧写上下面的代码:

1#include "expressinstall.as"
2var install = new ExpressInstall();
3if (install.needsUpdate) {
4stop();
5install.init();
6}

就这样,简单把?