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

  • 本站文章除注明转载外,均为本站原创或者翻译。
  • 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商;
  • 本站部分原创和翻译文章提供markdown格式源码,欢迎使用文章源码进行转载;
  • 本博客采用 WPCMD 维护;
  • 本文标题:用swfobject实现FlashPlayer8的快速安装(Express Install)
  • 本文链接:http://zengrong.net/post/208.htm

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

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

<script src="/swfobject.js" type="text/javascript"></script>
<p id="flashcontent">       您的浏览器不支持JavaScript,或者您禁用了JavaScript。
请启用浏览器的JavaScript支持。
如果您确认启用了JavaScript,请使用下面的链接升级Flash Player到最新版本
<a href="http://www.adobe.com/go/getflash/">安装最新的Flash Player插件</a>
<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的定义下方):

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

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

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

  expressinstall.zip (1.8 KiB, 1,208 hits)

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

#include "expressinstall.as"
var install = new ExpressInstall();
if (install.needsUpdate) {
stop();
install.init();
}

就这样,简单把?