Guest User

Untitled

a guest
Mar 24th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.42 KB | None | 0 0
  1. (function (factory) {
  2. if (typeof define === 'function' && define.amd) {
  3. // AMD. Register as an anonymous module.
  4. define(['jquery'], function ($) {
  5. return factory($);
  6. });
  7. } else if (typeof module === 'object' && typeof module.exports === 'object') {
  8. // Node-like environment
  9. module.exports = factory(require('jquery'));
  10. } else {
  11. // Browser globals
  12. factory(window.jQuery);
  13. }
  14. }(function(jQuery) {
  15. "use strict";
  16.  
  17. function uaMatch( ua ) {
  18. // If an UA is not provided, default to the current browser UA.
  19.  
  20. if ( ua === undefined ) {
  21. ua = window.navigator.userAgent;
  22. }
  23. ua = ua.toLowerCase();
  24.  
  25. var match = /(edge)\/([\w.]+)/.exec( ua ) ||
  26. /(opr)[\/]([\w.]+)/.exec( ua ) ||
  27. /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
  28. /(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec( ua ) ||
  29. /(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec( ua ) ||
  30. /(webkit)[ \/]([\w.]+)/.exec( ua ) ||
  31. /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
  32. /(msie) ([\w.]+)/.exec( ua ) ||
  33. ua.indexOf("trident") >= 0 && /(rv)(?::| )([\w.]+)/.exec( ua ) ||
  34. ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
  35. [];
  36.  
  37. var platform_match = /(ipad)/.exec( ua ) ||
  38. /(ipod)/.exec( ua ) ||
  39. /(iphone)/.exec( ua ) ||
  40. /(kindle)/.exec( ua ) ||
  41. /(silk)/.exec( ua ) ||
  42. /(android)/.exec( ua ) ||
  43. /(windows phone)/.exec( ua ) ||
  44. /(win)/.exec( ua ) ||
  45. /(mac)/.exec( ua ) ||
  46. /(linux)/.exec( ua ) ||
  47. /(cros)/.exec( ua ) ||
  48. /(playbook)/.exec( ua ) ||
  49. /(bb)/.exec( ua ) ||
  50. /(blackberry)/.exec( ua ) ||
  51. [];
  52.  
  53. var browser = {},
  54. matched = {
  55. browser: match[ 5 ] || match[ 3 ] || match[ 1 ] || "",
  56. version: match[ 2 ] || match[ 4 ] || "0",
  57. versionNumber: match[ 4 ] || match[ 2 ] || "0",
  58. platform: platform_match[ 0 ] || ""
  59. };
  60. console.log(browser)
  61. if ( matched.browser ) {
  62. browser[ matched.browser ] = true;
  63. browser.version = matched.version;
  64. browser.versionNumber = parseInt(matched.versionNumber, 10);
  65. }
  66.  
  67. if ( matched.platform ) {
  68. browser[ matched.platform ] = true;
  69. }
  70.  
  71. // These are all considered mobile platforms, meaning they run a mobile browser
  72. if ( browser.android || browser.bb || browser.blackberry || browser.ipad || browser.iphone ||
  73. browser.ipod || browser.kindle || browser.playbook || browser.silk || browser[ "windows phone" ]) {
  74. browser.mobile = true;
  75. }
  76.  
  77. // These are all considered desktop platforms, meaning they run a desktop browser
  78. if ( browser.cros || browser.mac || browser.linux || browser.win ) {
  79. browser.desktop = true;
  80. }
  81.  
  82. // Chrome, Opera 15+ and Safari are webkit based browsers
  83. if ( browser.chrome || browser.opr || browser.safari ) {
  84. browser.webkit = true;
  85. }
  86.  
  87. // IE11 has a new token so we will assign it msie to avoid breaking changes
  88. // IE12 disguises itself as Chrome, but adds a new Edge token.
  89. if ( browser.rv || browser.edge ) {
  90. var ie = "msie";
  91.  
  92. matched.browser = ie;
  93. browser[ie] = true;
  94. }
  95.  
  96. // Blackberry browsers are marked as Safari on BlackBerry
  97. if ( browser.safari && browser.blackberry ) {
  98. var blackberry = "blackberry";
  99.  
  100. matched.browser = blackberry;
  101. browser[blackberry] = true;
  102. }
  103.  
  104. // Playbook browsers are marked as Safari on Playbook
  105. if ( browser.safari && browser.playbook ) {
  106. var playbook = "playbook";
  107.  
  108. matched.browser = playbook;
  109. browser[playbook] = true;
  110. }
  111.  
  112. // BB10 is a newer OS version of BlackBerry
  113. if ( browser.bb ) {
  114. var bb = "blackberry";
  115.  
  116. matched.browser = bb;
  117. browser[bb] = true;
  118. }
  119.  
  120. // Opera 15+ are identified as opr
  121. if ( browser.opr ) {
  122. var opera = "opera";
  123.  
  124. matched.browser = opera;
  125. browser[opera] = true;
  126. }
  127.  
  128. // Stock Android browsers are marked as Safari on Android.
  129. if ( browser.safari && browser.android ) {
  130. var android = "android";
  131.  
  132. matched.browser = android;
  133. browser[android] = true;
  134. }
  135.  
  136. // Kindle browsers are marked as Safari on Kindle
  137. if ( browser.safari && browser.kindle ) {
  138. var kindle = "kindle";
  139.  
  140. matched.browser = kindle;
  141. browser[kindle] = true;
  142. }
  143.  
  144. // Kindle Silk browsers are marked as Safari on Kindle
  145. if ( browser.safari && browser.silk ) {
  146. var silk = "silk";
  147.  
  148. matched.browser = silk;
  149. browser[silk] = true;
  150. }
  151.  
  152. // Assign the name and platform variable
  153. browser.name = matched.browser;
  154. browser.platform = matched.platform;
  155. return browser;
  156. }
  157. // Run the matching process, also assign the function to the returned object
  158. // for manual, jQuery-free use if desired
  159. window.jQBrowser = uaMatch( window.navigator.userAgent );
  160. window.jQBrowser.uaMatch = uaMatch;
  161. // Only assign to jQuery.browser if jQuery is loaded
  162. if ( jQuery ) {
  163. jQuery.browser = window.jQBrowser;
  164. }
  165.  
  166. if (((window.jQBrowser.name == 'msie') && (window.jQBrowser.version < 11)) || ((window.jQBrowser.name == 'mozilla') && (window.jQBrowser.version < 52)) || ((window.jQBrowser.name == 'chrome') && (window.jQBrowser.version < 64)) || ((window.jQBrowser.name == 'opera') && (window.jQBrowser.version < 51)) || ((window.jQBrowser.name == 'safari') && (window.jQBrowser.versionNumber < 11)) || ((window.jQBrowser.platform == 'android') && (window.jQBrowser.versionNumber < 56)) || ((window.jQBrowser.platform == "iphone") && (window.jQBrowser.name == 'safari') && (window.jQBrowser.versionNumber < 8))) {
  167. // some code...
  168. }
  169. else {
  170. // some code...
  171. }
  172. return window.jQBrowser;
  173. }));
Add Comment
Please, Sign In to add comment