1

テンプレートのメタタグでInternetExplorerを禁止しようとしています。

template.xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<f:view locale="de_DE">
<h:head>
    <f:facet name="first">
        <h:outputText
            value="&lt;!--[if IE]&gt;
        &lt;h1&gt;No IE support.&lt;/h1&gt;
        &lt;![endif]--&gt;"
            escape="false" />
    </f:facet>
...

そのようにそれは動作しません。どうすればそれを達成できますか?

4

1 に答える 1

2

メタタグではなく、エンドユーザーがIEを使用しているかどうかに応じてHTMLコードの一部を条件付きで表示するIE条件付きコメントだけがあります。ページ本文にHTMLコードを表示するには、HTMLコードを。<body>ではなく、に配置する必要があります<head>

<h:body>
    ...
    <h:outputText
        value="&lt;!--[if IE]&gt;
    &lt;h1&gt;No IE support.&lt;/h1&gt;
    &lt;![endif]--&gt;"
        escape="false" />
    ...
</h:body>

これは、ページの残りの部分を魔法のように隠すわけではないことに注意してください。<link>のようなものを含むCSSを含めることで、これを拡張する必要があります#content { display: none; }


具体的な問題とは関係なく、すでにOmniFacesを使用している質問履歴に基づいているため<o:conditionalComment>、JSFで開発者にとって使いやすい方法でIE条件付きコメントをレンダリングすると役立つ場合があります。

<h:body>
    ...
    <o:conditionalComment if="IE">
        <h1>No IE support.</h1>
    </o:conditionalComment>
    ...
</h:body>
于 2012-09-11T11:19:54.830 に答える