Use conditional comment to determine IE version. Well, someone proposed it early, but didn't read the code carefully. I happened to see it yesterday when I was looking at CSS3 PIE, and I thought it was unreliable. I saw Paul Irish mention it today, so let me recommend it. This is written on the author's blog:
// -- -------------------------------------------------- ------
// A short snippet for detecting versions of IE in JavaScript
// without resorting to user-agent sniffing
// ------------- --------------------------------------------------
/ / If you're not in IE (or IE version is less than 5) then:
// ie === undefined
// If you're in IE (>=5) then you can determine which version:
// ie === 7; // IE7
// Thus, to detect IE:
// if (ie) {}
// And to detect the version:
// ie === 6 // IE6
// ie > 7 // IE8, IE9...
// ie < 9 // Anything less than IE9
// -------------------------------------------------- --------
// UPDATE: Now using Live NodeList idea from @jdalton
var ie = (function(){
var undef,
v = 3,
div = document.createElement('div'),
all = div.getElementsByTagName('i');
while (
div.innerHTML = '' ,
all[0]
);
return v > 4 ? v : undef;
}());
Pay attention to this while statement. It's what I find most interesting. for the comma operator. I'm not familiar with it either, and I'm just stuck on usage like variable definition. For example:
var a= 'b', c = 'd', e = 'f';
var obj = {
a: 'b',
c: 'd',
e: 'f'
}
I asked the worker @kangpangpang, again Checked out the book. In fact, this is relatively rare. Usually the last value is returned.
var a = (1,2,3,5, 6,0,9,4); // a === 4
Well, that’s probably it. Quite interesting.