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>

上記のようにすると、「script」タグを閉じる必要があるというコンパイルエラーがスローされます。しかし、以下のコード (同じページになるはずです) は完全に機能します。

<%@ 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 の条件に問題があるのはなぜですか? script タグはコメント内にあり、「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 に答える