/* 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), 'renderer': '', // 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].replace('KDE','Konqueror'), // Define the browser version 'version': { 'string': '', 'version': null, 'major': null }, // 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() { var htmlcss = this.renderer + ' ' + this.browser + ' ' + this.browser + this.version.major + ' ' + this.OS + ' js'; jQuery((arguments[0]) ? arguments[0] : 'html').addClass(htmlcss.toLowerCase()); }, // Define the 'removeClass' function 'removeMetaClass': function() { var htmlcss = this.renderer + ' ' + this.browser + ' ' + this.browser + this.version.major + ' ' + this.OS + ' js'; jQuery((arguments[0]) ? arguments[0] : 'html').removeClass(htmlcss.toLowerCase()); } }; // Redefine the rendering client ob.renderer = (ob.gecko) ? 'gecko' : (ob.webkit) ? 'webkit' : ''; // Redefine 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; }();