可能会有很多问题和答案,但我无法发现它确实是检测低于10的Internet Explorer版本的最佳,最快速和最简单的方法。
那么,如何检测少于10的Internet Explorer?
答案 0 :(得分:0)
没有像下面列出的解决方案那样快速和简短的解决方案。
var IElt10=0/*@cc_on@if(@_jscript_version<10)1@end@*/;
上面的解决方案将变量IElt10的值设置为0(如果浏览器大于10,则在if语句中计算为false)和1(在if语句中计算为true)浏览器小于10.这将允许您使用上面的代码执行以下操作:
var IElt10=0/*@cc_on@if(@_jscript_version<10)1@end@*/;
if (IElt10){
alert("You are using a version of internet explorer less than 10");
} else {
alert("You're not using a version of internet explorer less than 10");
}
它的工作原理基于conditional comments。由于条件注释仍然是注释,因此大多数(如果不是全部)最小化器不会检测到条件注释很重要,并将其与其余注释一起丢弃。解决这个问题的一个简单方法是简单地将IElt10的值放在类似警报的位置,如下所示:
var IElt10=alert(0/*@cc_on@if(@_jscript_version<10)1@end@*/);
if (IElt10){
alert("You are using a version of internet explorer less than 10");
} else {
alert("You're not using a version of internet explorer less than 10");
}
然后,您可以缩小代码。并且,在缩小的代码中,找到警报,并用原始表达式替换整个警报语句(即整个警报(0))。例如:
alert(0)?alert("You are using a version of internet explorer less than 10"):alert("You're not using a version of internet explorer less than 10")
现在,将alert(0)
替换为0/@cc_on@if(@_jscript_version<10)1@end@/
,如下所示。
0/*@cc_on@if(@_jscript_version<10)1@end@*/?alert("You are using a version of internet explorer less than 10"):alert("You're not using a version of internet explorer less than 10")
并且,wala:你超越了缩放器,所以现在你有了工作,缩小了代码。
答案 1 :(得分:-1)
您可以在浏览器中测试用户代理字符串,但这些日子不鼓励反对检测您的Web应用程序所需的特定功能。查看Modernizr之类的框架,让您更轻松。如果你真的想去检测IE&lt; 10,那就是&#34; MSIE&#34;在UA字符串后跟一个版本,例如&#34; MSIE 9.0&#34;