I'm new to jquery and was wondering: is a simple way to detect whether a browser is Internet Explorer 6 or below?
jQuery checks for features, rather than "browsers". That said, you can use the jQuery.support method to detect what the users browser is capable of.
Deprecated Methods (Do not use)
- $.browser
- $.browser.version
- $.boxModel
http://docs.jquery.com/Utilities/jQuery.support will give you a summary of which features are supported by which browsers. Taking that data, you'll develop a couple conditional checks to determine if the browser being used is your target browser or not.
http://docs.jquery.com/Utilities/jQuery.browser.version is how
EDITED: Corrected link from Douglas
http://api.jquery.com/jQuery.browser/#jQuery.browser.version
I mean, if you had the old version not the latest 1.3...
Also, another good point is that with JQuery, you are not supposed to worry about the version. JQuery does feature testing and handles all that malarky for you. Worrying about versions and platforms is pretty 1999
Try this out:
jQuery.each(jQuery.browser, function(i, val) {
$("<div>" + i + " : <span>" + val + "</span>")
.appendTo(document.body);
});
if you need more info refer to this:
Worrying about versions and platforms is pretty 1999
Too bad a good chunk of the web is still living in that era...
Very nice way to detect IE is:
if ('v'=='\v') {
welcome to IE ))
}
Unfortunately it can't recognize its version but it's not always nessecary.
You could also ask IE directly.
<!--[if lte IE 6]>
<script type="text/javascript">
var isRunningIE6OrBelow = true;
</script>
<![endif]-->
As simple as this:
if($.browser.msie && $.browser.version=="6.0") alert("Im the annoying IE6");
Also, another good point is that with JQuery, you are not supposed to worry about the version.
That doesn't help if you're using jquery to fix an IE6 css rendering bug though.
I often check the version of a browser. The .support method is great, but it doesn't really help when you need to hide selects when there's an overlay. There is no "supports selects are windowed controls". You just need to check the browser version, so I would say err towards the .support method where you can, and use the .browser where necessary.