/* jQuery Browser Plugin... * URL: http://jquery.thewikies.com/browser * Description: jQuery Browser Plugin extends browser detection capabilities and implements CSS browser selectors. * Author: Nate Cavanaugh, Minhchau Dang, & Jonathan Neal * Copyright: Copyright (c) 2008 Jonathan Neal under dual MIT/GPL license. */ var jQueryBrowser = function() { // Define Navigator Properties var pl = navigator.platform; var ua = navigator.userAgent; // Define Browser Properties var ob = { // Define the rendering client 'gecko': /Gecko/.test(ua) && !/like Gecko/.test(ua), 'webkit': /WebKit/.test(ua), // Define the browser 'aol': /America Online Browser/.test(ua), 'camino': /Camino/.test(ua), 'firefox': /Firefox/.test(ua), 'flock': /Flock/.test(ua), 'icab': /iCab/.test(ua), 'konqueror': /KDE/.test(ua), 'mozilla': /mozilla/.test(ua), 'msie': /MSIE/.test(ua), 'netscape': /Netscape/.test(ua), 'opera': /Opera/.test(ua), 'safari': /Safari/.test(ua), 'browser': /(MSIE|Firefox|Opera|Safari|KDE|iCab|Flock)/.exec(ua)[0], // Define the opperating system 'win': /Win/.test(pl), 'mac': /Mac/.test(pl), 'linux': /Linux/.test(pl), 'iphone': /iPhone/.test(pl), 'OS': /(Win|Mac|Linux|iPhone)/.exec(pl)[0], // Define the classic navigator properties 'platform': pl, 'agent': ua, // Define the 'addClass' function 'addMetaClass': function() { jQuery((arguments[0]) ? arguments[0] : 'html').addClass([this.renderer,this.browser,this.browser+this.version.major,this.OS,'js'].join(' ').toLowerCase()); }, // Define the 'removeClass' function 'removeMetaClass': function() { jQuery((arguments[0]) ? arguments[0] : 'html').removeClass([this.renderer,this.browser,this.browser+this.version.major,this.OS,'js'].join(' ').toLowerCase()); } }; // Define the rendering client ob.renderer = (ob.gecko) ? 'gecko' : (ob.webkit) ? 'webkit' : ''; // Define the browser client version ob.version = { 'string': (ob.msie) ? /MSIE ([^;]+)/.exec(ua)[1] : (ob.firefox) ? /Firefox\/(.+)/.exec(ua)[1] : (ob.safari) ? /Version\/([^\s]+)/.exec(ua)[1] : (ob.opera) ? /Opera\/([^\s]+)/.exec(ua)[1] : '' }; ob.version.number = parseFloat(ob.version.string); ob.version.major = /([^\.]+)/.exec(ob.version.string)[1]; // Define the jQuery 'browser' object jQuery.browser = ob; }();