用纯Javascript检查IE8是否

我曾经这样检查过:

$.browser.msie && $.browser.version == 8 

但似乎$.browser已从jQuery的后续版本中删除,

所以,

如何使用纯JavaScript进行检查?

我试过了:

isIE8: navigator.appVersion.indexOf("MSIE 8") > 0

这似乎做到了,但它看起来并不那么好,实际上看起来有很多缺陷……

任何更好的方法?

这比您可能想要的单行程更长,但比解析UA字符串更安全,因为它基于实际行为(IE条件注释): https : //gist.github.com/paulirish/357741

您可以检查是否支持SVG标记。 IE8中不支持SVG – > http://caniuse.com/#search=svg相反,在IE8中引入了DATA标签 – > http://caniuse.com/#search=data

所以:

 if (navigator.userAgent.toLowerCase().indexOf('msie') != -1) { if (!document.createElement('SVG').getAttributeNS) { if (document.createElement('DATA').getAttributeNS) { //the browser is defently IE8 } } }