1. <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">今天用到JS判断浏览器类型,于是就系统整理了一下,便于后期使用。</span>



1.   /*
2.    * 描述:判断浏览器信息
3.    * 
4.    * 日期:2016.1.5
5.    * 版本:V1.1
6.    */  
7.   
8. //判断当前浏览类型  
9. function BrowserType()  
10.   {  
11. var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串  
12. var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器  
13. var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器  
14. var isEdge = userAgent.indexOf("Windows NT 6.1; Trident/7.0;") > -1 && !isIE; //判断是否IE的Edge浏览器  
15. var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器  
16. var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1; //判断是否Safari浏览器  
17. var isChrome = userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Safari") > -1; //判断Chrome浏览器  
18.   
19. if (isIE)   
20.       {  
21. var reIE = new RegExp("MSIE (\\d+\\.\\d+);");  
22.            reIE.test(userAgent);  
23. var fIEVersion = parseFloat(RegExp["$1"]);  
24. if(fIEVersion == 7)  
25. return "IE7";}  
26. else if(fIEVersion == 8)  
27. return "IE8";}  
28. else if(fIEVersion == 9)  
29. return "IE9";}  
30. else if(fIEVersion == 10)  
31. return "IE10";}  
32. else if(fIEVersion == 11)  
33. return "IE11";}  
34. else  
35. return "0"}//IE版本过低  
36. //isIE end  
37.          
38. if (isFF) {  return "FF";}  
39. if (isOpera) {  return "Opera";}  
40. if (isSafari) {  return "Safari";}  
41. if (isChrome) { return "Chrome";}  
42. if (isEdge) { return "Edge";}  
43. //myBrowser() end  
44.      
45. //判断是否是IE浏览器  
46. function isIE()  
47.    {  
48. var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串  
49. var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器  
50. if(isIE)  
51.       {  
52. return "1";  
53.       }  
54. else  
55.       {  
56. return "-1";  
57.       }  
58.    }  
59.      
60.      
61. //判断是否是IE浏览器,包括Edge浏览器  
62. function IEVersion()  
63.    {  
64. var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串  
65. var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器  
66. var isEdge = userAgent.indexOf("Windows NT 6.1; Trident/7.0;") > -1 && !isIE; //判断是否IE的Edge浏览器  
67. if(isIE)  
68.       {  
69. var reIE = new RegExp("MSIE (\\d+\\.\\d+);");  
70.            reIE.test(userAgent);  
71. var fIEVersion = parseFloat(RegExp["$1"]);  
72. if(fIEVersion == 7)  
73. return "IE7";}  
74. else if(fIEVersion == 8)  
75. return "IE8";}  
76. else if(fIEVersion == 9)  
77. return "IE9";}  
78. else if(fIEVersion == 10)  
79. return "IE10";}  
80. else if(fIEVersion == 11)  
81. return "IE11";}  
82. else  
83. return "0"}//IE版本过低  
84.       }  
85. else if(isEdge)  
86. {  
87. return "Edge";  
88. }  
89. else  
90.       {  
91. return "-1";//非IE  
92.       }  
93.    }


以上代码通过测试,可用!

        但存在一个问题,即IE5与IE7浏览器暂不能区分,以下是IE5与IE7下userAgent的信息;通过userAgent发现,简单的通过以上方法,无法正确区分IE5和IE7。期待该问题的解决方案!!!


     IE7: userAgent