flash检测方法

//IE下获取flash版本号,如果flash插件不存在则返回-1
function ControlVersion()
{
       var version;
       var axo;
       var e;
       try {
              axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
              version = axo.GetVariable("$version");
       } catch (e) {
       }

       if (!version)
       {
              try {
                     axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
                     version = "WIN 6,0,21,0";           
                     axo.;
                     version = axo.GetVariable("$version");
              } catch (e) {
              }
       }

       if (!version)
       {
              try {
                     axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
                     version = axo.GetVariable("$version");
              } catch (e) {
              }
       }

       if (!version)
       {
              try {
                     axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
                     version = "WIN 3,0,18,0";
              } catch (e) {
              }
       }

       if (!version)
       {
              try {
                     axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
                     version = "WIN 2,0,0,11";
              } catch (e) {
                     version = -1;
              }
       }
       var verArr = version.toString().split(',');
       var str = '';
       for(var i=0,l=verArr.length;i<l;i++){
             
              if(verArr[i].indexOf('WIN') != -1){
                     str += verArr[i].substring(3);
                     str += '.';
              }else if(i== (l-1)){
                     str += verArr[i];
              }else{
                     str += verArr[i];
                     str += '.';      
              }
             
       }
       return (str);
}

//判断
function flashChecker()
{
    var hasFlash=0;         //是否安装了flash
    var flashVersion=0; //flash版本
    var isIE=0;      //是否IE浏览器

    if(isIE)
    {
        var swf = ControlVersion();
        if(swf != -1)
        {
            hasFlash=1;
            flashVersion = swf;
        }
    }else{
        if (navigator.plugins && navigator.plugins.length > 0)
        {
             if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"])
             {
                hasFlash=1;
                var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
                var swf = navigator.plugins["Shockwave Flash" + swVer2].description;
                //var swf = navigator.plugins["Shockwave Flash"];
                if (swf)
                 {       
                    var words = swf.split(" ");
                    for (var i = 0; i < words.length; ++i)
                    {
                        if (isNaN(parseInt(words[i]))) continue;
                        flashVersion = parseInt(words[i]);
                    }
                }
             }
        }
    }
    return {f:hasFlash,v:flashVersion};
}
//以下是简化版本
//检测flash是否安装,以及版本号
function flashChecker(){
    var hasFlash=false;         //是否安装了flash
    var flashVersion=0; //flash版本
    var isIE=0;      //是否IE浏览器
    if(isIE){
        try{
            var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
            if(swf) {
                hasFlash=true;
                VSwf=swf.GetVariable("$version");
                flashVersion=parseInt(VSwf.split(" ")[1].split(",")[0]);
            }
        }
        catch(e){
       
        }
       
    }else{
        if (navigator.plugins && navigator.plugins.length > 0)
        {
        var swf=navigator.plugins["Shockwave Flash"];
            if (swf)
             {
                hasFlash=true;
                var words = swf.description.split(" ");
                for (var i = 0; i < words.length; ++i)
                {
                    if (isNaN(parseInt(words[i]))) continue;
                    flashVersion = parseInt(words[i]);
                }
            }
        }
    }
    return {hasFlash:hasFlash,flashVersion:flashVersion};
}

你可能感兴趣的:(JavaScript,Flash)