User-Agent

User-Agent 首部包含了一个特征字符串,用来让网络协议的对端来识别发起请求的用户代理软件的应用类型、操作系统、软件开发商以及版本号。

  1. // 判断IE浏览器
  2. isIE() {
  3. if (!!window.ActiveXObject || "ActiveXObject" in window) {
  4. return true;
  5. } else {
  6. return false;
  7. }
  8. },
  9. // 判断IE并给出相应的版本
  10. IEVersion() {
  11. var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
  12. var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
  13. var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器
  14. var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
  15. if (isIE) {
  16. var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
  17. reIE.test(userAgent);
  18. var fIEVersion = parseFloat(RegExp["$1"]);
  19. if (fIEVersion == 7) {
  20. return 7;
  21. } else if (fIEVersion == 8) {
  22. return 8;
  23. } else if (fIEVersion == 9) {
  24. return 9;
  25. } else if (fIEVersion == 10) {
  26. return 10;
  27. } else {
  28. return 6;//IE版本<=7
  29. }
  30. } else if (isEdge) {
  31. return 'edge';//edge
  32. } else if (isIE11) {
  33. return 11; //IE11
  34. } else {
  35. return -1;//不是ie浏览器
  36. }
  37. },
  38. // 判断主流浏览器版本
  39. browserVersion() {
  40. var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
  41. var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
  42. var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
  43. var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //Edge浏览器
  44. var isFirefox = userAgent.indexOf("Firefox") > -1; //Firefox浏览器
  45. var isOpera = userAgent.indexOf("Opera") > -1 || userAgent.indexOf("OPR") > -1; //Opera浏览器
  46. var isChrome = userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Edge") == -1 && userAgent.indexOf("OPR") == -1; //Chrome浏览器
  47. var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1 && userAgent.indexOf("Edge") == -1 && userAgent.indexOf("OPR") == -1; //Safari浏览器
  48. if (isIE) {
  49. var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
  50. reIE.test(userAgent);
  51. var fIEVersion = parseFloat(RegExp["$1"]);
  52. if (fIEVersion == 7) {
  53. return 'IE7';
  54. } else if (fIEVersion == 8) {
  55. return 'IE8';
  56. } else if (fIEVersion == 9) {
  57. return 'IE9';
  58. } else if (fIEVersion == 10) {
  59. return 'IE10';
  60. } else {
  61. return 'IE6';//IE版本<7
  62. }
  63. } else if (isIE11) {
  64. return 'IE11';
  65. } else if (isEdge) {
  66. return 'Edge' + userAgent.split('Edge/')[1].split('.')[0];
  67. } else if (isFirefox) {
  68. return 'Firefox' + userAgent.split('Firefox/')[1].split('.')[0];
  69. } else if (isOpera) {
  70. return 'Opera' + userAgent.split('OPR/')[1].split('.')[0];
  71. } else if (isChrome) {
  72. return 'Chrome' + userAgent.split('Chrome/')[1].split('.')[0];
  73. } else if (isSafari) {
  74. return 'Safari'; +userAgent.split('Safari/')[1].split('.')[0];
  75. } else {
  76. return -1;//不是ie浏览器
  77. }
  78. }