Heim >Web-Frontend >js-Tutorial >判断客户端浏览器是否安装了Flash插件的多种方法_javascript技巧

判断客户端浏览器是否安装了Flash插件的多种方法_javascript技巧

WBOY
WBOYOriginal
2016-05-16 18:21:333892Durchsuche

常用的方法:

复制代码 代码如下:


[code]
动态加载.
[code]
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="120" HEIGHT="60" id="468x60" ALIGN="" VIEWASTEXT>





<script> <BR>function addFlash() { <BR>mFlash.movie="http://www.jb51.net/images/ad/WIBU.swf"; <BR>mFlash.Play(); <BR>} <BR></script>

有很多检测PLUGIN的方法,因为不能只用一个方法就解决了这个问题,所以才有了这么多的方法
一、内置的检测
NN和MAC上的IE不能使用以下的检测,只有WIN上的IE可以
1、即需即装
在IE的工具-Internet选项-高级-浏览里面的即需即装选项如果生效了,当浏览器需要,就会从MS的网站下载Flash Player ActiveX control
如果没生效,你没安装PLUGIN又直接进入了网页,就会看到一个裂开的方块那样的小ICON,点一下也可以带你去安装
2、HTML里面的OBJECT标签里面的classid 和 codebase属性
classid是ActiveX control的标识,例如FLASH PLAYER的就是:
clsid:D27CDB6E-AE6D-11cf-96B8-444553540000
codebase则是下载插件的地址,例如FLASH4的(如果浏览器检查到version后面的数字低于你已有版本,就不会安装):
http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0
这些HTML标签当你在FLASH中PUBLIC或者DW中插入时都会自动加入
浏览器执行到这些标签就会进行检测了
二、用SCRIPT来检测
这种方法是为了摆脱上一种办法的局限,例如DW里面那个叫"Check Plug-in"的behavior
这种方法在有些不能执行SCRIPT的机器上还是用不了,例如MAC上IE4.5之前版本,WIN31上面的IE。
还有某些用户是关闭SCRPIT执行的。
三、用FLASH来检测
如果用户连SCRPIT都不执行的话,就只能用这招了。这也是MM自己用的方法。
做一个检测的HTML,里面放一个SWF,里面只有一句GetURL("你真正的页面")
同时在HTML的里面放
如果在10秒之内SWF没有把你带到真正的页面,检测的HTML就会把你带到没安装的页面
四、最后一个办法,让用户自己选择
这也是最常见的了,很多网站都做一个入口的页面,下面就有安装PLUGIN的小ICON
复制代码 代码如下:





通过以下的Javascript脚本,可以检测当前浏览器是否安装Flash插件以及插件的版本是否满足要求。
复制代码 代码如下:



<script> <BR>//自己总结的 <BR>//IE中判断是否安装插件 <BR>var swf; <BR>function IE_Flash() <BR>{ <BR>try <BR>{ <BR>var swf=new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); <BR>alert("已安装插件"); <BR>} <BR>catch(e) <BR>{ <BR>alert("没有安装插件"); <BR>} <BR>} <BR>//FireFox,Chrome中判断是否安装插件 <BR>function FF_or_Chrome_Flash() <BR>{ <BR>var swf=navigator.plugins["Shockwave Flash"]; <BR>(swf)?alert("已安装插件"):alert("没有安装插件"); <BR>} <BR></script>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn