summaryrefslogtreecommitdiff
path: root/src/static/js/jquery_browser.js
blob: 0d61e0dddf38d9b59e9c0062cc38fb0e7419c58a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/*
  Copied from jQuery 1.8, the last jquery version with browser recognition support
*/

(function(){
  // Use of jQuery.browser is frowned upon.
  // More details: http://api.jquery.com/jQuery.browser
  // jQuery.uaMatch maintained for back-compat
  var uaMatch = function( ua ) {
      ua = ua.toLowerCase();

      var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
          /(webkit)[ \/]([\w.]+)/.exec( ua ) ||
          /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
          /(msie) ([\w.]+)/.exec( ua ) ||
          ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
          [];

      return {
          browser: match[ 1 ] || "",
          version: match[ 2 ] || "0"
      };
  };

  var userAgent = navigator.userAgent;
  var matched = uaMatch(userAgent);
  var browser = {};

  if ( matched.browser ) {
      browser[ matched.browser ] = true;
      browser.version = matched.version;
  }

  // Chrome is Webkit, but Webkit is also Safari.
  if ( browser.chrome ) {
      browser.webkit = true;
  } else if ( browser.webkit ) {
      browser.safari = true;
  }

  //custom extensions, the original jquery didn't have these
  browser.windows = /windows/i.test(userAgent);
  browser.mobile = /mobile/i.test(userAgent) || /android/i.test(userAgent);

  if(typeof exports !== 'undefined'){
    exports.browser = browser;
  } else{
    $.browser = browser;
  }
})();