检查IE8是否使用纯Javascript
我过去经常这样检查:检查IE8是否使用纯Javascript,javascript,jquery,internet-explorer-8,Javascript,Jquery,Internet Explorer 8,我过去经常这样检查: $.browser.msie && $.browser.version == 8 但是,$.browser似乎已从jQuery的更高版本中删除 所以 我如何用纯javascript来检查这一点 我试过: isIE8:navigator.appVersion.indexOf(“MSIE 8”)>0 威奇似乎做到了,但它看起来不太好,实际上看起来它有很多缺陷 有更好的aproach吗?这比您可能想要的一行更长,但比解析UA字符串更安全,因为它基于实际行为(即条
$.browser.msie && $.browser.version == 8
但是,$.browser
似乎已从jQuery的更高版本中删除
所以
我如何用纯javascript来检查这一点
我试过:
isIE8:navigator.appVersion.indexOf(“MSIE 8”)>0
威奇似乎做到了,但它看起来不太好,实际上看起来它有很多缺陷
有更好的aproach吗?这比您可能想要的一行更长,但比解析UA字符串更安全,因为它基于实际行为(即条件注释):您可以检查是否支持
SVG
标记SVG
在IE8->中不受支持。相反,IE8->中引入了DATA
标记
因此:
为什么你认为它看起来不好并且有缺陷?如果它是IE8,你需要知道什么具体的原因?最安全的方法是使用功能检测而不是浏览器检测,因此您要检查您想要的特定功能/功能是否确实存在,如果不存在,则使用变通方法。“实际上看起来它有很多缺陷”-这总结了浏览器检测。省略if(document.createElement('DATA')。getAttributes…如果您想要检查
if (navigator.userAgent.toLowerCase().indexOf('msie') != -1) {
if (!document.createElement('SVG').getAttributeNS) {
if (document.createElement('DATA').getAttributeNS) {
//the browser is defently IE8
}
}
}