JAVASCRIPT   95

browser-detect.js

Guest on 23rd August 2021 05:10:11 PM

  1. /*
  2.         Detect browser by Peter-Paul Koch
  3.         Author Uri : http://www.quirksmode.org/js/detect.html
  4. */
  5.  
  6. var BrowserDetect = {
  7.         init: function () {
  8.                 this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
  9.                 this.version = this.searchVersion(navigator.userAgent)
  10.                         || this.searchVersion(navigator.appVersion)
  11.                         || "an unknown version";
  12.                 this.OS = this.searchString(this.dataOS) || "an unknown OS";
  13.         },
  14.         searchString: function (data) {
  15.                 for (var i=0;i<data.length;i++) {
  16.                         var dataString = data[i].string;
  17.                         var dataProp = data[i].prop;
  18.                         this.versionSearchString = data[i].versionSearch || data[i].identity;
  19.                         if (dataString) {
  20.                                 if (dataString.indexOf(data[i].subString) != -1)
  21.                                         return data[i].identity;
  22.                         }
  23.                         else if (dataProp)
  24.                                 return data[i].identity;
  25.                 }
  26.         },
  27.         searchVersion: function (dataString) {
  28.                 var index = dataString.indexOf(this.versionSearchString);
  29.                 if (index == -1) return;
  30.                 return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
  31.         },
  32.         dataBrowser: [
  33.                 {
  34.                         string: navigator.userAgent,
  35.                         subString: "Chrome",
  36.                         identity: "Chrome"
  37.                 },
  38.                 {       string: navigator.userAgent,
  39.                         subString: "OmniWeb",
  40.                         versionSearch: "OmniWeb/",
  41.                         identity: "OmniWeb"
  42.                 },
  43.                 {
  44.                         string: navigator.vendor,
  45.                         subString: "Apple",
  46.                         identity: "Safari",
  47.                         versionSearch: "Version"
  48.                 },
  49.                 {
  50.                         prop: window.opera,
  51.                         identity: "Opera"
  52.                 },
  53.                 {
  54.                         string: navigator.vendor,
  55.                         subString: "iCab",
  56.                         identity: "iCab"
  57.                 },
  58.                 {
  59.                         string: navigator.vendor,
  60.                         subString: "KDE",
  61.                         identity: "Konqueror"
  62.                 },
  63.                 {
  64.                         string: navigator.userAgent,
  65.                         subString: "Firefox",
  66.                         identity: "Firefox"
  67.                 },
  68.                 {
  69.                         string: navigator.vendor,
  70.                         subString: "Camino",
  71.                         identity: "Camino"
  72.                 },
  73.                 {               // for newer Netscapes (6+)
  74.                         string: navigator.userAgent,
  75.                         subString: "Netscape",
  76.                         identity: "Netscape"
  77.                 },
  78.                 {
  79.                         string: navigator.userAgent,
  80.                         subString: "MSIE",
  81.                         identity: "Explorer",
  82.                         versionSearch: "MSIE"
  83.                 },
  84.                 {
  85.                         string: navigator.userAgent,
  86.                         subString: "Gecko",
  87.                         identity: "Mozilla",
  88.                         versionSearch: "rv"
  89.                 },
  90.                 {               // for older Netscapes (4-)
  91.                         string: navigator.userAgent,
  92.                         subString: "Mozilla",
  93.                         identity: "Netscape",
  94.                         versionSearch: "Mozilla"
  95.                 }
  96.         ],
  97.         dataOS : [
  98.                 {
  99.                         string: navigator.platform,
  100.                         subString: "Win",
  101.                         identity: "Windows"
  102.                 },
  103.                 {
  104.                         string: navigator.platform,
  105.                         subString: "Mac",
  106.                         identity: "Mac"
  107.                 },
  108.                 {
  109.                            string: navigator.userAgent,
  110.                            subString: "iPhone",
  111.                            identity: "iPhone/iPod"
  112.             },
  113.                 {
  114.                         string: navigator.platform,
  115.                         subString: "Linux",
  116.                         identity: "Linux"
  117.                 }
  118.         ]
  119.  
  120. };
  121. BrowserDetect.init();

Raw Paste


Login or Register to edit or fork this paste. It's free.