Advertisement
Guest User

Untitled

a guest
Feb 6th, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.57 KB | None | 0 0
  1. // Don't work for Opera 15+
  2. // navigator.userAgent.indexOf(' OPR/') >= 0
  3.  
  4. var BrowserDetect = {
  5. init: function () {
  6. this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
  7. this.version = this.searchVersion(navigator.userAgent)
  8. || this.searchVersion(navigator.appVersion)
  9. || "an unknown version";
  10. this.OS = this.searchString(this.dataOS) || "an unknown OS";
  11. },
  12. searchString: function (data) {
  13. for (var i=0;i<data.length;i++) {
  14. var dataString = data[i].string;
  15. var dataProp = data[i].prop;
  16. this.versionSearchString = data[i].versionSearch || data[i].identity;
  17. if (dataString) {
  18. if (dataString.indexOf(data[i].subString) != -1)
  19. return data[i].identity;
  20. }
  21. else if (dataProp)
  22. return data[i].identity;
  23. }
  24. },
  25. searchVersion: function (dataString) {
  26. var index = dataString.indexOf(this.versionSearchString);
  27. if (index == -1) return;
  28. return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
  29. },
  30. dataBrowser: [
  31. {
  32. string: navigator.userAgent,
  33. subString: "Chrome",
  34. identity: "Chrome"
  35. },
  36. { string: navigator.userAgent,
  37. subString: "OmniWeb",
  38. versionSearch: "OmniWeb/",
  39. identity: "OmniWeb"
  40. },
  41. {
  42. string: navigator.vendor,
  43. subString: "Apple",
  44. identity: "Safari",
  45. versionSearch: "Version"
  46. },
  47. {
  48. prop: window.opera,
  49. identity: "Opera",
  50. versionSearch: "Version"
  51. },
  52. {
  53. string: navigator.vendor,
  54. subString: "iCab",
  55. identity: "iCab"
  56. },
  57. {
  58. string: navigator.vendor,
  59. subString: "KDE",
  60. identity: "Konqueror"
  61. },
  62. {
  63. string: navigator.userAgent,
  64. subString: "Firefox",
  65. identity: "Firefox"
  66. },
  67. {
  68. string: navigator.vendor,
  69. subString: "Camino",
  70. identity: "Camino"
  71. },
  72. { // for newer Netscapes (6+)
  73. string: navigator.userAgent,
  74. subString: "Netscape",
  75. identity: "Netscape"
  76. },
  77. {
  78. string: navigator.userAgent,
  79. subString: "MSIE",
  80. identity: "Explorer",
  81. versionSearch: "MSIE"
  82. },
  83. {
  84. string: navigator.userAgent,
  85. subString: "Gecko",
  86. identity: "Mozilla",
  87. versionSearch: "rv"
  88. },
  89. { // for older Netscapes (4-)
  90. string: navigator.userAgent,
  91. subString: "Mozilla",
  92. identity: "Netscape",
  93. versionSearch: "Mozilla"
  94. }
  95. ],
  96. dataOS : [
  97. {
  98. string: navigator.platform,
  99. subString: "Win",
  100. identity: "Windows"
  101. },
  102. {
  103. string: navigator.platform,
  104. subString: "Mac",
  105. identity: "Mac"
  106. },
  107. {
  108. string: navigator.userAgent,
  109. subString: "iPhone",
  110. identity: "iPhone/iPod"
  111. },
  112. {
  113. string: navigator.platform,
  114. subString: "Linux",
  115. identity: "Linux"
  116. }
  117. ]
  118.  
  119. };
  120. BrowserDetect.init();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement