セクションの最初のメタタグを作成するにはどうすればいいですか? 質問する

セクションの最初のメタタグを作成するにはどうすればいいですか? 質問する

JSF2、GlassFish 3.1、PrimeFaces 2.x を使用しています。

IE9 で奇妙なレンダリングの問題が発生しています。次のコードを挿入することで、IE9 を IE9 として強制的にレンダリングできるはずです。

<html>
<head>
  <!-- Enable IE9 Standards mode -->
  <meta http-equiv="X-UA-Compatible" content="IE=9" />
...

しかし、問題は、メタ タグがセクションの最初のタグでなければならない (と聞いています) ため、機能しないということです。

XHTML ファイルでこれを実行すると...

<html ...>

<f:view contentType="text/html" locale="#{loginHandler.currentLocale}">

<h:head>
    <!-- Enable IE9 Standards mode -->
    <meta http-equiv="X-UA-Compatible" content="IE=9" />

結果の HTML は次のようになります。JSF/PrimeFaces によって、新しいメタ タグの前に一連の「link」タグと「script」タグが挿入されています。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link type="text/css" rel="stylesheet" href="/orcf-webui/javax.faces.resource/jquery/ui/jquery-ui.css.jsf?ln=primefaces&amp;v=2.2" />
<link type="text/css" rel="stylesheet" href="/orcf-webui/javax.faces.resource/wijmo/wijmo.css.jsf?ln=primefaces&amp;v=2.2" />
<script type="text/javascript" src="/orcf-webui/javax.faces.resource/jquery/jquery.js.jsf?ln=primefaces&amp;v=2.2"></script>
<script type="text/javascript" src="/orcf-webui/javax.faces.resource/jquery/ui/jquery-ui.js.jsf?ln=primefaces&amp;v=2.2"></script>
<!-- Enable IE9 Standards mode -->
<meta http-equiv="X-UA-Compatible" content="IE=9" />

メタ タグを適切な場所に配置して機能させる方法はありますか? (または、この IE9 の問題を解決する別の方法はありますか?)

ベストアンサー1

  1. メタタグは前にすべてのPrimeFaces関連:http://blogs.msdn.com/b/cjacks/archive/2012/02/29/using-x-ua-compatible-to-create-durable-enterprise-web-applications.aspx

  2. HTTP ヘッダーと HTML HEAD は完全に異なるものです。

  3. PrimeFaces 3.0では、新しいファセットが追加されましたh:head:http://blog.primefaces.org/?p=1433したがって、解決策は次のようになります。

<h:head>
    <f:facet name="first">
        <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
    </f:facet>
</h:head>

おすすめ記事