检测浏览器是否安装了flash及其版本
检测浏览器是否安装了flash及其版本
下面是几个需要注意的点。
1、获取所有元素
IE:
document.all
FireFox:
document.getElementsByTagName(*)
2、检测插件是否安装(flash)
- IE:
var swf=new ActiveXObject('ShockwaveFlash.ShockwaveFlash')
- Firefox:
//navigator的首字母必须是小写,大写是不正确的var swf=navigator.plugins["Shockwave Flash"]
完整代码如下:
/*** 检测浏览器是否安装了flash; 返回json,f:是否安装;v:若安装,则返回版本号* @returns {{f: number, v: number}}*/function checkFlash() {var hasFlash = 0;var flashVersion = 0;var swf = null;//document.all为IE下,document.getElementsByTagName("*")为非IEif (document.all || document.getElementsByTagName("*")) {try {swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');if (swf) {hasFlash = 1;VSwf = swf.GetVariable("$version");flashVersion = parseInt(VSwf.split(" ")[0].split(",")[0]);}}catch (e) {//catch不能做处理,而且必须要捕捉;//否则在firefox,下,ActiveXObject会出错,下面的代码不会再去执行}if (!swf){//navigator首字母必须是小写,大写是错误的if (navigator.plugins && navigator.plugins.length > 0) {var swf = navigator.plugins["Shockwave Flash"];if (swf) {hasFlash = 1;var words = swf.description.split(" ");for (var i = 0; i < words.length; i++) {if (isNaN(parseInt(words[i]))) {continue;}flashVersion = parseInt(words[i]);}}}}}return {f: hasFlash, v: flashVersion}}

浙公网安备 33010602011771号