JAVASCRIPT   30
browserCheck js
Guest on 6th February 2023 01:46:22 PM


  1. var usable = 0;
  2.  
  3. var BrowserDetect = {
  4.         init: function () {
  5.                 this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
  6.                 this.version = this.searchVersion(navigator.userAgent)
  7.                         || this.searchVersion(navigator.appVersion)
  8.                         || "an unknown version";
  9.                 this.OS = this.searchString(this.dataOS) || "an unknown OS";
  10.         },
  11.         searchString: function (data) {
  12.                 for (var i=0;i<data.length;i++) {
  13.                         var dataString = data[i].string;
  14.                         var dataProp = data[i].prop;
  15.                         this.versionSearchString = data[i].versionSearch || data[i].identity;
  16.                         if (dataString) {
  17.                                 if (dataString.indexOf(data[i].subString) != -1)
  18.                                         return data[i].identity;
  19.                         }
  20.                         else if (dataProp)
  21.                                 return data[i].identity;
  22.                 }
  23.         },
  24.         searchVersion: function (dataString) {
  25.                 var index = dataString.indexOf(this.versionSearchString);
  26.                 if (index == -1) return;
  27.                 return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
  28.         },
  29.         dataBrowser: [
  30.                 {
  31.                         string: navigator.userAgent,
  32.                         subString: "Chrome",
  33.                         identity: "Chrome"
  34.                 },
  35.                 {       string: navigator.userAgent,
  36.                         subString: "OmniWeb",
  37.                         versionSearch: "OmniWeb/",
  38.                         identity: "OmniWeb"
  39.                 },
  40.                 {
  41.                         string: navigator.vendor,
  42.                         subString: "Apple",
  43.                         identity: "Safari",
  44.                         versionSearch: "Version"
  45.                 },
  46.                 {
  47.                         prop: window.opera,
  48.                         identity: "Opera",
  49.                         versionSearch: "Version"
  50.                 },
  51.                 {
  52.                         string: navigator.vendor,
  53.                         subString: "iCab",
  54.                         identity: "iCab"
  55.                 },
  56.                 {
  57.                         string: navigator.vendor,
  58.                         subString: "KDE",
  59.                         identity: "Konqueror"
  60.                 },
  61.                 {
  62.                         string: navigator.userAgent,
  63.                         subString: "Firefox",
  64.                         identity: "Firefox"
  65.                 },
  66.                 {
  67.                         string: navigator.vendor,
  68.                         subString: "Camino",
  69.                         identity: "Camino"
  70.                 },
  71.                 {               // for newer Netscapes (6+)
  72.                         string: navigator.userAgent,
  73.                         subString: "Netscape",
  74.                         identity: "Netscape"
  75.                 },
  76.                 {
  77.                         string: navigator.userAgent,
  78.                         subString: "MSIE",
  79.                         identity: "Explorer",
  80.                         versionSearch: "MSIE"
  81.                 },
  82.                 {
  83.                         string: navigator.userAgent,
  84.                         subString: "Gecko",
  85.                         identity: "Mozilla",
  86.                         versionSearch: "rv"
  87.                 },
  88.                 {               // for older Netscapes (4-)
  89.                         string: navigator.userAgent,
  90.                         subString: "Mozilla",
  91.                         identity: "Netscape",
  92.                         versionSearch: "Mozilla"
  93.                 }
  94.         ],
  95.         dataOS : [
  96.                 {
  97.                         string: navigator.platform,
  98.                         subString: "Win",
  99.                         identity: "Windows"
  100.                 },
  101.                 {
  102.                         string: navigator.platform,
  103.                         subString: "Mac",
  104.                         identity: "Mac"
  105.                 },
  106.                 {
  107.                            string: navigator.userAgent,
  108.                            subString: "iPhone",
  109.                            identity: "iPhone/iPod"
  110.             },
  111.                 {
  112.                         string: navigator.platform,
  113.                         subString: "Linux",
  114.                         identity: "Linux"
  115.                 }
  116.         ]
  117.  
  118. };
  119. BrowserDetect.init();
  120.  
  121.  
  122. function checkBrowser() {
  123. /*    if (BrowserDetect.browser == 'Safari') {
  124.         alert ("Warning: Safari is not supported by this HIT. Sorry! We recommend Firefox or Chrome.");
  125.         return false;
  126.     }
  127. */
  128.     if (BrowserDetect.browser != 'Chrome' && BrowserDetect.browser != 'Firefox' && BrowserDetect.browser != 'Safari')
  129. //    if (BrowserDetect.browser != 'Chrome')
  130.     {
  131.         alert ("Warning: We have not tested this HIT with your browser. We recommend Firefox, Chrome, or Safari.")
  132.         return false;
  133.     }
  134.     return true;
  135. }
  136.  
  137. //alert(BrowserDetect.browser);
  138. if(checkBrowser())
  139. {
  140.         usable = 1;
  141. }

Raw Paste

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