18148


以下の記載を含んだXHTMLをIEのドキュメントモードIE9で表示した場合、画面に表示されてしまいます。  
ドキュメントモードIE10,IE11,Edgeでは表示されず条件式として処理されているようです。どこに誤りがあるのかご教示をおねがいします。

[code]

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and
    media queries -->
      <!--[if lt IE 9]>
        <h:outputScript name="html5shiv.min.js" library="js" />
        <h:outputScript name="respond.min.js" library="js" />
        <h:outputScript name="lte-ie7.js" library="js" />
      <![endif]-->
    
[/code]

**更新**  
JavaEEの場合、Conditional
Commentsはデフォルトではエスケープされてしまうようです。よって、IE9以下では画面に条件式が表示されます。解決策としては以下のようにエスケープを無効にするパラメタを設定することで解決しました。

[code]

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and
    media queries -->
      <h:outputText
        value="&lt;!--[if lt IE 9]&gt;
        &lt;script type=&quot;text/javascript&quot;src=&quot;#{request.contextPath}/javax.faces.resource/html5shiv.min.js.xhtml?ln=js&quot;&gt;&lt;/script&gt;
        &lt;script type=&quot;text/javascript&quot;src=&quot;#{request.contextPath}/javax.faces.resource/respond.min.js.xhtml?ln=js&quot;&gt;&lt;/script&gt;
        &lt;script type=&quot;text/javascript&quot;src=&quot;#{request.contextPath}/javax.faces.resource/lte-ie7.js.xhtml?ln=js&quot;&gt;&lt;/script&gt;
        &lt;![endif]--&gt;"
        escape="false" />
    
[/code]


CC BY-SA 3.0
2015-10-27T17:15:52.633
18143
2015-10-28T13:26:49.837
2015-10-28T13:26:49.837
9577
9577
question
html internet-explorer xhtml
IE条件式：[if lt IE 9]が画面に表示されてしまう


`<!--[if lt IE 9]>～<![endif]-->`は[conditional
comments](https://msdn.microsoft.com/en-
us/library/ms537512\(v=vs.85\).aspx)と呼ばれInternet Explorer独自の機能ですが

> **Important** As of Internet Explorer 10, conditional comments are no longer
> supported by standards mode.

とあり、IE10以降の標準モードであれば条件式に関係なく `<!-- ～ -->` つまりHTMLコメントと見做されます。  
IE9以前であれば条件式 `lt IE 9` に従って判断されます。

> ドキュメントモードIE9で表示した場合、画面に表示されてしまいます。  
>  ドキュメントモードIE10,IE11,Edgeでは表示されず

とのことですが、結果から推測するに

  * IE9ではブラウザーモードIE9で、質問文とは異なりドキュメントモードIE5 (Quirks)で動作している
  * IE10以降ではブラウザーモードIE10などで、質問文通りドキュメントモードIE10などで動作している

となっているのではないでしょうか？ IE10からドキュメントモードの判定が変更されており

[code]

    <!DOCTYPE HTML>
    
[/code]

宣言が含まれていない場合がこれに該当します。


CC BY-SA 3.0
2015-10-27T20:22:21.363
18148
2015-10-27T20:22:21.363
4236
18143
answer