我有一个在Jquery 2.x上运行的网站。 IE 9+以及Chrome和Firefox都支持此功能。但我希望该网站能够与IE 8一起使用。
如何卸载Jquery 2.x并仅为IE 8加载1.x?
我尝试过使用以下内容:
<!--[if lt IE 9]>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<![endif]-->
但在这种情况下,两个版本都会加载。
答案 0 :(得分:0)
尝试使用条件检查浏览器是否为IE8,就像您一样,并在<html>
元素中添加一个类:
<!--[if IE 8]> <html class="ie8"> <![endif]-->
<!--[if gt IE 8]><!--> <html> <!--<![endif]-->
然后,在您的Javascript代码中,您可以轻松检查<html>
元素是否具有为旧浏览器指定的类,并在页面的<head>
内动态加载脚本,如下所示:
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
if(document.getElementsByTagName('html')[0].className == 'ie8')
script.src = "jquery_1.x.js";
else
script.src = "jquery_2.x.js";
script.type = 'text/javascript';
head.appendChild(script);
请注意,此方法可能会非常慢。
答案 1 :(得分:0)
您可以使用以下特殊条件注释添加所需的jQuery版本:
<!--[if lte IE 8]>
<script src="/js/jquery-1.12.4.min.js"></script>
<![endif]-->
<!--[if (gte IE 9)]><!-->
<script src="/js/jquery-3.3.1.min.js"></script>
<!--<![endif]-->
请注意第二个<!-->
之后的附加if
及其特殊结束符<!--<![endif]-->
。这将导致像Chrome / FireFox这样的现代浏览器不会将其视为注释,因此会包含新的jQuery版本。