论坛: 网站建设 标题: FLASH插件检测的一个简单方法 复制本贴地址    
作者: stone [stone]    论坛用户   登录
本来这个方法可以很简单,但是想想还有那么多低版本浏览器用户,还是辛苦些,把这个检测机制做的适应性广些:既可以检测Flash 2,Flash3,Flash4插件又可以提醒用户及时升级插件到最新版本。 
■其逻辑是:在一个隐藏的Movie里,放一个Get URL的事件,如果访问者没有安装插件,则这个事件永远不会发生,而浏览器可能做以下两件事之一:1)对于版本 4的浏览器,会提醒用户安装插件(Netscape 用户会联结至Mecromedia去安装,而ie用户则会自动安装)。2)对于更老版本的浏览器,我们则使用META标签的Refresh属性将他们带到名为 nonflash.html的页面,告诉其需要安装插件,并提供安装方法。同时,我们还可以提醒那些已装了插件但不是最新版本的用户升级插件。 
■具体的工作情况是:我们用三个Get URL Aciton,一个给Flash 4,一个给Flash 3,一个给Flash 2。第一个URL指向你用Flash 4做的主页;第二个和第三个均URL指向要求用户升级的页面。之所以能做到区分不同的Flash Player,是因为不同版本Flash都有一些新增属性,而这些属性不能为低版本Flash Player所执行,当Movie播放到发现无法继续时,这一检测机制便会将浏览者带到nonflash.html或升级页面。比如,在Flash 4的GET URL中,我们将他的值设定为Expression(下面解释),这是Flash 4的新增属性,在Flash 3和Flash 2里不会被运行;然后,利用Flash 2不支持嵌在Movie Clips里的GET URL的特点,我们嵌入一个Movie Clip,里面有Flash 3的GET URL;最后就是一个很普通的给Flash 2用户的GET URL。 
■实现步骤: 
1) 建立一个有 12 个Frame 的Movie; 
2) 把Movie的Size设到最小(18个Pixels); 
3) 分别把第5,7,10,12定为KeyFrame,再在12个KeyFrame放一个Stop的Action; 
4) 在第5个KeyFrame处放GET URL Action,指向你用Flash 4做的主页。然后点击右边的“abc”按钮,将其值设为Expression,这样你会看到URL被加上了双引号; 
5) 按Ctrl+F8新建一个只有两个Keyframe的Movie Clip; 
6) 在第二个Kyeframe里放上GET URL Action,指向你要给Flash 3用户看的升级内容,之所以这么做是因为Flash 2不支持在Movie Clip的GET URL Action; 
7) 回到主Scene里,将刚做的Movie Clip放到第7个KeyFrame里; 
8) 在第10个Keyframe里的GET URL Action就很普通了,直接指向给Flash 2用户看的内容就OK; 
9) 最后,把这个Flash Movie存盘生成SWF后,将他嵌入到HTML中,同时还要加入META语句:<META HTTP-EQUIV=“ReFresh”CONTENT=“10;URL=nonflash.html”> 意思是:当浏览器没有安装插件时,该句会在十秒后Reload页面,将访问者带到nonflash.html提示其安装插件。 


地主 发表时间: 10/02 01:25

论坛: 网站建设

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号