Guest User

scalable UA sniffing

a guest
Sep 3rd, 2013
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (function () {
  2.  
  3. "use strict";
  4.  
  5. var ua = navigator.userAgent,
  6.   supportedBrowsers = [
  7.     new Browser('Firefox', 16.0),
  8.     new Browser('Chrome', 26.0),
  9.     new Browser('Trident', 10.0),
  10.     new Browser('Safari', 3.0)
  11.   ];
  12.  
  13. function Browser(lowercaseName, version) {
  14.   this.name = lowercaseName;
  15.   this.minVersion = version;
  16. }
  17.  
  18. function version(nameIndex) {
  19.   var rvIndex = ua.indexOf('rv:'),
  20.     versionStr = rvIndex !== -1 ?
  21.       ua.substring(rvIndex + 3, ua.indexOf(')')) :
  22.       ua.substring(ua.lastIndexOf('/', nameIndex) + 1, ua.indexOf(' ', versionIndex));
  23.   return parseFloat(versionStr);
  24. }
  25.  
  26. supportedBrowsers.some(function (browser) {
  27.   var nameIndex = ua.indexOf(browser.name);
  28.   if (nameIndex !== -1 && version(nameIndex) >= browser.minVersion) {
  29.     $('#browserNotSupported').removeClass('show');
  30.     return true;
  31.   }
  32.   return false;
  33. });
  34.  
  35. })();
Advertisement
Add Comment
Please, Sign In to add comment