我过去是这样检查它的:
$.browser.msie && $.browser.version == 8
但是似乎后期版本的jQuery中已经删除了$.browser
,
那么,
我如何只使用纯JavaScript来检查呢?
我尝试了:
isIE8: navigator.appVersion.indexOf("MSIE 8") > 0
这个方法似乎可以,但并不好看,而且实际上有很多缺陷……
有更好的方法吗?
我过去是这样检查它的:
$.browser.msie && $.browser.version == 8
但是似乎后期版本的jQuery中已经删除了$.browser
,
那么,
我如何只使用纯JavaScript来检查呢?
我尝试了:
isIE8: navigator.appVersion.indexOf("MSIE 8") > 0
这个方法似乎可以,但并不好看,而且实际上有很多缺陷……
有更好的方法吗?
这段代码可能比你想要的简短代码长一些,但比解析UA字符串更安全,因为它基于实际行为(IE条件注释): https://gist.github.com/paulirish/357741
SVG
标签。在IE8中不支持SVG
标签 -> http://caniuse.com/#search=svg 相反,DATA
标签是在IE8中引入的 -> 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
}
}
}