我有一个简单的网页,只是一些CSS和html。我需要使用jquery包含移动导航,并且还需要与IE8兼容。
我发现IE8支持jquery的1.1.9版本,并且我还找到了如何使用这些不同的版本,具体取决于加载我的网站的浏览器。
我的问题是,如果我将jQuery版本用于IE8,我是否还需要在脚本标记的html中包含将要运行的其他js文件?谢谢您的回答
//this is what i have - before </body>
<!--[if lt IE 9]>
<script src="https://code.jquery.com/jquery-1.9.0.min.js"</script>
<![endif]-->
<!--[if gte IE 9]><!-->
<script src="https://code.jquery.com/jquery-3.4.0.min.js"></script>
<!--<![endif]-->
//and how do I render my js file with my code? is it like this?
<!--[if lt IE 9]>
<script src="https://code.jquery.com/jquery-1.9.0.min.js"</script>
<script src="app1.js"</script>
<![endif]-->
<!--[if gte IE 9]><!-->
<script src="app2.js"></script>
<!--<![endif]-->
答案 0 :(得分:1)
我将在此答案中尝试澄清您的问题。
您可以有条件地包括基于IE的HTML代码(如您所示)。条件不提供范围,因此您无需重新指定已经包含的标签。但是,对于Javascript,您需要先包含相关文件,然后再引用它们。因此,如果要在结束</body>
之前包含jquery,则应在其之后包含代码。
<!--[if lt IE 9]>
<script src="https://code.jquery.com/jquery-1.9.0.min.js"</script>
<script src="app1.js"</script>
<![endif]-->
<!--[if gte IE 9]>
<script src="https://code.jquery.com/jquery-3.4.0.min.js"></script>
<script src="app2.js"></script>
<![endif]-->
</body>
如果您需要将jquery的包含与我们自己的代码的包含分开,则无需重新指定jquery的包含:
<!--[if lt IE 9]>
<script src="https://code.jquery.com/jquery-1.9.0.min.js"</script>
<![endif]-->
<!--[if gte IE 9]>
<script src="https://code.jquery.com/jquery-3.4.0.min.js"></script>
<![endif]-->
... other stuff here ...
<!--[if lt IE 9]>
<script src="app1.js"</script>
<![endif]-->
<!--[if gte IE 9]>
<script src="app2.js"></script>
<![endif]-->
</body>
请注意,在这些示例中,您不包括非IE浏览器的jquery。如果对IE> 9的支持与其他浏览器相同,那么您也可以为非IE浏览器添加标签。下面,我在顶部使用合并的示例:
<!--[if lt IE 9]>
<script src="https://code.jquery.com/jquery-1.9.0.min.js"</script>
<script src="app1.js"</script>
<![endif]-->
<!--[if gte IE 9]><!-->
<script src="https://code.jquery.com/jquery-3.4.0.min.js"></script>
<script src="app2.js"></script>
<!--<![endif]-->
</body>
请注意,从非IE浏览器的角度来看,条件标记实际上已被注释掉。