[browser navigator 之plugins] 写了一个检测游览器插件

检测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

 

posted @ 2017-11-22 05:58  家木子猿  阅读(1092)  评论(0编辑  收藏  举报