检测IE插件
1 function hasIEPlugin(name){ 2 try{ 3 new ActiveXObject(name); 4 return true; 5 }catch(ex){ 6 return false; 7 } 8 }; 9 console.log(hasIEPlugin('ShockwaveFlash.ShockwaveFlash'));
检测非IE的插件
1 function hasPlugin(name){ 2 name = name.toLowerCase(); 3 for(var i=0;i<navigator.plugins.length;i++){ 4 if(navigator.plugins[i].name.toLowerCase().indexOf(name) > -1){ 5 return true; 6 } 7 } 8 return false; 9 } 10 11 console.log(hasPlugin('flash'));
◆由上可见IE的插件名有点特殊,按需百度吧
◆暂不了解遍历IE插件的方法,非IE游览器可用for length 遍历
封装
1 function detectPlugin(name){ 2 var borwser = navigator.appname; 3 if(borwser == 'Microsoft Internet Explorer'){ 4 try{ 5 new ActiveXObject(name); 6 return true; 7 }catch(ex){ 8 return false; 9 } 10 }else{ 11 name = name.toLowerCase(); 12 for(var i=0;i<navigator.plugins.length;i++){ 13 if(navigator.plugins[i].name.toLowerCase().indexOf(name) > -1){ 14 return true 15 } 16 } 17 return false 18 } 19 } 20 21 console.log(detectPlugin('flash'));
◆这个有待研究吧,JS高设3 P213