3

我有一个有条件评论的页面:

<%@ Page language="c#"  %>
<html>
  <head>
    <title>ASP.NET Application</title>
    <!--[if lt IE 8]><script type="text/javascript" src="scripts/json_parse.js"></script><![endif]-->
  </head>
  <body>
    test
  </body>
<html>

当我像上面那样做时,它会抛出一个编译错误,说它需要一个关闭的“脚本”标签。但是下面的代码(应该以相同的页面结束)完美地工作:

<%@ Page language="c#"  %>
<html>
  <head>
    <title>ASP.NET Application</title>
    <!--[if lt IE 8]>
    <% Response.Write( "<script type=\"text/javascript\" src=\"scripts/json_parse.js\"></script>" ); %>
    <![endif]-->
  </head>
  <body>
    test
  </body>
<html>

为什么 IE 条件语句有问题?脚本标签在注释内,不是“runat”。

4

1 回答 1

4

在这种情况下,您希望将条件注释显示给下层浏览器,而不是被上层浏览器隐藏,因此可以使用稍微不同的语法:

<![if lt IE 8]>
<script type="text/javascript" src="scripts/json_parse.js"></script>
<![endif]>

有关详细信息,请参阅此 MSDN 文章

于 2013-01-19T01:48:02.000 回答