所以我需要检测IE 9.我知道我应该真的使用feature detection但我不知道导致我的问题的是什么功能所有我知道的就是9我的问题。
我已经解决了我的问题(对于那些感兴趣的人,我问了一个关于问题的问题here,但实际上,这是无关紧要的。)
现在我想为IE9实现这个 hack 修复,因为这是让我头痛的原因。
那么检测IE 9的最佳方法是什么?
答案 0 :(得分:5)
这些IE条件将为您提供一个关键的CSS类:
<!--[if lt IE 7]> <html class="lt-ie10 lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="lt-ie10 lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="lt-ie10 lt-ie9" lang="en"> <![endif]-->
<!--[if IE 9]> <html class="lt-ie10" lang="en"> <![endif]-->
<!--[if gt IE 9]><!--> <html lang="en"> <!--<![endif]-->
因此,如果你只关心IE9,你可以这样做:
<!--[if IE 9]> <html class="ie9" lang="en"> <![endif]-->
或者,遵守惯例:
<!--[if IE 9]> <html class="lt-ie10" lang="en"> <![endif]-->
然后你的JS(和CSS)可以关闭HTML.lt-ie10选择器:
if ($('HTML.lt-ie10').length) {
//this is IE9 and older
}
else {
//this is not IE9 and older (so it could be Chrome, or Safari or IE10, etc)
}
答案 1 :(得分:1)
使用JQuery(1.8或更低版本)
if ( $.browser.msie && $.browser.version == 9) {
// Your code here
}