如何为不同版本的jquery(一个支持IE8)包含js文件?

时间:2019-04-28 08:58:44

标签: javascript jquery html

我有一个简单的网页,只是一些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]-->

1 个答案:

答案 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浏览器的角度来看,条件标记实际上已被注释掉。