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