/** Copyright 2013 Colm Delaney * Released under the MIT License: * http://www.opensource.org/licenses/mit-license.php * * To use this file, remove .txt extension, and place it within the appropriate project directory */ // Detect browser and add appropriate classes to calling element, typically 'html' // Run on document.ready only; omit true if Modernizr is running // Usage: $('html').add_browser_classes(true); // Test function: alert('html classes: ' + jQuery('html').attr('class')); // Add true arg if Modernizr/HTML5 Boilerplate isn't in use: function will then detect all IE lte 9 (function($) { $.fn.add_browser_classes = function(testielte9) { // Begin with the negation classes $(this).addClass('not-webkit not-firefox not-opera not-ie'); if (/Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor)) { $(this).removeClass('not-webkit').addClass('webkit chrome'); } else if (/Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vendor)) { $(this).removeClass('not-webkit').addClass('webkit safari'); } else if (/Firefox/.test(navigator.userAgent)) { $(this).removeClass('not-firefox').addClass('firefox'); } else if (window.opera && window.opera.buildNumber) { $(this).removeClass('not-opera').addClass('opera'); } else if (Function('/*@cc_on return /^10/.test(@_jscript_version) @*/')()) { $(this).removeClass('not-ie').addClass('ie ie10'); } else if (testielte9 == true) { var ie_lt_10=(function(){var c,a=3,d=document.createElement("div"),b=d.getElementsByTagName("i");while(d.innerHTML="",b[0]){}return a>4?a:c}()); if ((ie_lt_10 >= 4) && (ie_lt_10 <= 9)) { $(this).removeClass('not-ie'); if (ie_lt_10 <= 6) { $(this).addClass('ie ie6 lt-ie10 lt-ie9 lt-ie8 lt-ie7'); } else if (ie_lt_10 === 7) { $(this).addClass('ie ie7 lt-ie10 lt-ie9 lt-ie8'); } else if (ie_lt_10 === 8) { $(this).addClass('ie ie8 lt-ie10 lt-ie9'); } else if (ie_lt_10 === 9) { $(this).addClass('ie ie9 lt-ie10'); } } } return this; }; })(jQuery);