You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Tobias Eisentrager <te...@googlemail.com> on 2012/03/29 10:34:15 UTC
Content in facet metaContainer is not the first in
Hello List,
I am trying to force a document mode in Internet Explorer. Following
the documentation on msdn [1] I have to add the X-UA-compatible header
in the Web page's header (the HEAD section) before all other elements,
except for the TITLE element and other META elements.
I used a <tr:document> with the facet metaContainer but the resulting
page also contains other elements before the content of the facet.
Example:
<?xml version="1.0" encoding="utf-8"?>
<tr:document xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:tr="http://myfaces.apache.org/trinidad"
xmlns:t="http://myfaces.apache.org/tomahawk"
xmlns="http://www.w3.org/1999/xhtml"
title="#{pageTitle}"
styleClass="start"
>
<f:facet name="metaContainer">
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<meta http-equiv="Content-Language" content="de" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link rel="stylesheet" charset="UTF-8" type="text/css"
media="print" href="style.css" />
</f:facet>
<!-- content -->
</tr:document>
Resulting Source:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><html dir="ltr"
lang="de"><head>
<title>Title of Page</title>
<meta name="generator" content="Apache MyFaces Trinidad">
<link rel="stylesheet" charset="UTF-8" type="text/css"
href="/InDocFlowN/adf/styles/cache/ar-desktop-ppd893-ltr-ie.css">
<meta http-equiv="X-UA-Compatible" content="IE=8">
<meta http-equiv="Content-Language" content="de">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<link rel="stylesheet" charset="UTF-8" type="text/css"
media="print" href="style.css" />
</head>
<!-- content ->
</html>
The problem are these two lines:
<meta name="generator" content="Apache MyFaces Trinidad">
<link rel="stylesheet" charset="UTF-8" type="text/css"
href="/InDocFlowN/adf/styles/cache/ar-desktop-ppd893-ltr-ie.css">
They should not be rendered before the <meta
http-equiv="X-UA-Compatible" content="IE=8"> Otherwise IE will not
honor the tag.
How can I remove / move these two lines or otherwise how can i insert
the compatibility line as the first child of the head.
JSF: Myfaces 1.2.8
Trinidad: 1.2.13
Webserver: IBM WebSphere 6.1
Thanks so much,
Toby
Links:
[1] http://msdn.microsoft.com/library/cc817574.aspx - Section
Specifying Compatibility Modes on a Per-Page Basis
AW: Content in facet metaContainer is not the first in
Posted by "Hoersch, Dennis" <Ho...@his.de>.
Hi,
we had a similar problem (without the facet). The only way we found was to 'hack' the class 'org.apache.myfaces.renderkit.html.util.DefaultAddResource' such that if it founds the compatibility-mode-tag it moves to the first position... but maybe (sure ;-)) there is a better solution.
greetings,
dennis hoersch
---
HIS Hochschul-Informations-System GmbH
Goseriede 9 | 30159 Hannover | www.his.de
Dennis Hörsch
Unternehmensbereich Hochschul-IT
Arbeitsbereich Entwicklung
Telefon +49 (0)511 1220-403 | Fax +49 (0)511 1220-250
E-Mail hoersch@his.de
Registergericht: Amtsgericht Hannover, HRB 6489
Geschäftsführer: Prof. Dr. Martin Leitner
Vorsitzender des Aufsichtsrats: Prof. Dr. Rolf-Dieter Postlep
________________________________________
Von: Tobias Eisentrager [teisentraeger@googlemail.com]
Gesendet: Donnerstag, 29. März 2012 10:34
An: MyFaces Discussion
Betreff: Content in facet metaContainer is not the first in <head>
Hello List,
I am trying to force a document mode in Internet Explorer. Following
the documentation on msdn [1] I have to add the X-UA-compatible header
in the Web page's header (the HEAD section) before all other elements,
except for the TITLE element and other META elements.
I used a <tr:document> with the facet metaContainer but the resulting
page also contains other elements before the content of the facet.
Example:
<?xml version="1.0" encoding="utf-8"?>
<tr:document xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:tr="http://myfaces.apache.org/trinidad"
xmlns:t="http://myfaces.apache.org/tomahawk"
xmlns="http://www.w3.org/1999/xhtml"
title="#{pageTitle}"
styleClass="start"
>
<f:facet name="metaContainer">
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<meta http-equiv="Content-Language" content="de" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link rel="stylesheet" charset="UTF-8" type="text/css"
media="print" href="style.css" />
</f:facet>
<!-- content -->
</tr:document>
Resulting Source:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><html dir="ltr"
lang="de"><head>
<title>Title of Page</title>
<meta name="generator" content="Apache MyFaces Trinidad">
<link rel="stylesheet" charset="UTF-8" type="text/css"
href="/InDocFlowN/adf/styles/cache/ar-desktop-ppd893-ltr-ie.css">
<meta http-equiv="X-UA-Compatible" content="IE=8">
<meta http-equiv="Content-Language" content="de">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<link rel="stylesheet" charset="UTF-8" type="text/css"
media="print" href="style.css" />
</head>
<!-- content ->
</html>
The problem are these two lines:
<meta name="generator" content="Apache MyFaces Trinidad">
<link rel="stylesheet" charset="UTF-8" type="text/css"
href="/InDocFlowN/adf/styles/cache/ar-desktop-ppd893-ltr-ie.css">
They should not be rendered before the <meta
http-equiv="X-UA-Compatible" content="IE=8"> Otherwise IE will not
honor the tag.
How can I remove / move these two lines or otherwise how can i insert
the compatibility line as the first child of the head.
JSF: Myfaces 1.2.8
Trinidad: 1.2.13
Webserver: IBM WebSphere 6.1
Thanks so much,
Toby
Links:
[1] http://msdn.microsoft.com/library/cc817574.aspx - Section
Specifying Compatibility Modes on a Per-Page Basis