因为jQuery 2+不支持IE 8,所以我需要使用以前的版本:jQuery 1.9。
在使用IE>时使用IE< = 8和jQuery 2+时是否有一种方法可以包含jQuery 1.9 8。 我用条件评论试了一下:
<!--[if lt IE 9]><!--><script> .. googleapis jquery 1.9 .. </script><!--<![endif]-->
<!--[if gte IE 9]><!--><script> .. googleapis jquery 2+ .. </script><!--<![endif]-->
问题是它无法正常工作,我发现有些信息不再受支持了:http://msdn.microsoft.com/en-us/library/ie/hh801214(v=vs.85).aspx
还有其他办法吗?
答案 0 :(得分:6)
您希望IE8版本位于注释掉的块中,但非IE9版本不是:
<!--[if lt IE 9]> <script> .. googleapis jquery 1.9 .. </script> <![endif]-->
<![if !IE|gte IE 9]> <script> .. googleapis jquery 2+ .. </script> <![endif]>
IE8识别条件评论,但其他浏览器不识别(包括较新的IE)。
你也可能希望在第二个中有!IE
,只是为了完整性,如上所述。
答案 1 :(得分:1)
这将为Internet Explorer版本6-8提供不同版本的jQuery:
<!--[if lt IE 9]>
<script src="jquery-1.9.0.js"></script>
<![endif]-->
<!--[if gte IE 9]><!-->
<script src="jquery-2.0.0.js"></script>
<!--<![endif]-->
或稍微容易阅读(但功能相同):
<!--[if lt IE 9]>
<script src="jquery-1.9.0.js"></script>
<![endif]-->
<!--[if (gte IE 9) | (!IE)]><!-->
<script src="jquery-2.0.0.js"></script>
<!--<![endif]-->
答案 2 :(得分:0)
Bravo to T.J.克劳德(上图)为他的回答。这个问题困扰着我,我遇到了一些麻烦,因为IE8有时会加载两个JQuery文件,或者由于文档的加载方式,我编写的脚本不允许JQuery随后启动。除了上面的答案之外,我实际上不得不颠倒两个条件的顺序,以确保在IE8中没有加载多个JQuery副本。
<![if !IE|gte IE 9]> <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script> <![endif]>
<!--[if lt IE 9]> <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> <![endif]-->
答案 3 :(得分:-3)
您可以检查服务器代码上的UserAgentString,并根据它包含一个或另一个。 以下是Internet Explorer用户代理列表:http://www.useragentstring.com/pages/Internet%20Explorer/