Javascript 如何测试internet explorer版本是版本7还是版本8?
我想测试IE是版本7还是版本8,以及它是否阻止特定代码运行 我尝试了以下代码,但似乎不起作用:Javascript 如何测试internet explorer版本是版本7还是版本8?,javascript,jquery,Javascript,Jquery,我想测试IE是版本7还是版本8,以及它是否阻止特定代码运行 我尝试了以下代码,但似乎不起作用: if($.browser.msie && parseInt($.browser.version, 10) <= 8) { $(document).on('mouseenter', '.thumb', function () { $(this).find('.bgg').stop().animate({ opacity : 1 });
if($.browser.msie && parseInt($.browser.version, 10) <= 8) {
$(document).on('mouseenter', '.thumb', function () {
$(this).find('.bgg').stop().animate({ opacity : 1 });
});
$(document).on('mouseleave', '.thumb', function () {
$(this).find('.bg').stop().animate({ opacity : .5 });
});
}
if($.browser.msie&&parseInt($.browser.version,10)由于只需要一个脚本文件,我不得不在我的项目中对IE进行UA嗅探。我们不需要@Kolink方法所需的额外http请求,也不希望分割功能。为此,我只需使用:
var ltie9 = $.browser.msie && parseInt($.browser.version, 10) < 9;
我有一个显示了IE10之前的几种不同IE检测的示例。万无一失的方法:
<!--[if lte IE 8]><script type="text/javascript">
// specific code for IE8 and below goes here.
</script><![endif]-->
使用。IE7不提供查询选择器
方法,例如replace
if ($.browser.msie && parseInt($.browser.version, 10) <= 8)
还有一些想法IE8可以用作IE7,并且可以像IE7那样工作吗-
要区分,可以测试document.documentMode
向navigator对象添加属性可以避免再次测试
//(Run= {};
if(window.addEventListener){
Run.handler= function(who, typ, fun){
if(who && who.addEventListener) who.addEventListener(typ, fun, false);
}// all browsers except IE8 and below
}
else if(window.attachEvent){
/*@cc_on
@if(@_jscript_version>5.5){
navigator.IEmod= document.documentMode?
document.documentMode:window.XMLHttpRequest? 7:6;
}
@end
@*/
Run.handler= function(who, typ, fun){
if(who && who.attachEvent){
who.detachEvent('on'+typ, fun);
who.attachEvent('on'+typ, fun);
}
}
}
+1介绍功能检测而非doctype嗅探的一般概念。然而,这只在尝试检测功能时有效,您需要。使用不相关的功能可能容易出错。任天堂DSi基于Opera的浏览器也不支持querySelector
。这是否意味着它是IE7?@Kolink:我没有注意到错误使用任天堂DS
标签回答问题。没有,但是他们没有任何特定的浏览器标签,这表明解决方案应该适用于所有浏览器。好吧,这是一个合理的反对意见。如果你使用与你的问题无关的检测功能,那么你可能会遇到一些严重的问题。FF3和O9.6也不支持t querySelector.+1,用于向其他浏览器隐藏不必要的内容。(但以http请求为代价)作为全局,我唯一拥有的另一个东西是运行整个脚本的对象文字名称空间。我不会滥用它,因此会保持它的干净。那么为什么不将它包括在您的名称空间中呢?全局对象很容易进行不必要的修改。UA嗅探非常容易出错。它适用于我在相当大的环境中工作,我从来没有遇到过问题orted提出了相反的建议。我只嗅探IE6和IE7。其他所有东西都使用的是用户的特征检测。
if (document.all && !document.querySelector)
//(Run= {};
if(window.addEventListener){
Run.handler= function(who, typ, fun){
if(who && who.addEventListener) who.addEventListener(typ, fun, false);
}// all browsers except IE8 and below
}
else if(window.attachEvent){
/*@cc_on
@if(@_jscript_version>5.5){
navigator.IEmod= document.documentMode?
document.documentMode:window.XMLHttpRequest? 7:6;
}
@end
@*/
Run.handler= function(who, typ, fun){
if(who && who.attachEvent){
who.detachEvent('on'+typ, fun);
who.attachEvent('on'+typ, fun);
}
}
}