js检测浏览器插件

 
 

1、检测非ie浏览器中的插件

function hasPlugin(name){
    name=name.toLowerCase();
    for(var i=0;i<navigator.plugins.length;i++){
        if(navigator.plugins[i].name.toLowerCase().indexOf(name)>-1){
            return true;
        }
    }
    return false;}
hasPlugin("Flash")//检测flash

2、检测ie浏览器中的插件

在ie中检测插件的唯一方法就是使用专有的ActiveXObject类型,并尝试创建一个特定插件的实例。ie适宜COM对象来实现插件的,而COM对象使用唯一标识符来标识。因此,想要检查特定的插件,就必须知道其COM标识符。Flash的标识符就是ShockwaveFlash.ShockwaveFlash

function hasIEPlugin(name){
    try{
        new ActiveXObject(name);
        return true;
    }catch(ex){
        return false;
    }
}
hasIEPlugin("ShockwaveFlash.ShockwaveFlash")
3、检测所有浏览器中的Flash
function hasFlash(){
    var result=hasPlugin("Flash");
    if(!result){
        result=hasIEPlugin("ShockwaveFlash.ShockwaveFlash")
    }
    return result;
}
console.log(hasFlash());

猜你喜欢

转载自blog.csdn.net/wangxiuyan0228/article/details/80425114