簡體   English   中英

IE9渲染IE8文檔標准

[英]IE9 rendering IE8 document standard

我需要我的應用程序在IE9文檔標准中運行,我無法弄清楚為什么它會在IE8文檔標准中自動呈現。

我正在使用在Glassfish 3.1.2中運行的JSF 2.1.17和Primefaces 3.4。 我的IDE是Netbeans-7.1.2。 當我在IE中打開開發人員工具時,在“HTML”選項卡下顯示:

<--!DOCTYPE html-->
<html  xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 

但是,在“腳本”選項卡下,它顯示:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML lang=en xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<HEAD>
<META content="IE=8.0000" http-equiv="X-UA-Compatible">

我查看了所有的頁面和模板,沒有在哪里可以找到meta content =“IE = 8.0000”或上面顯示的!DOCTYPE 這很奇怪。

我的所有頁面都有:

<!DOCTYPE html> 

我的主要模板有:

<!DOCTYPE html> 

<html   xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" 
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:p="http://primefaces.org/ui"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:f="http://java.sun.com/jsf/core">

其他頁面有:

<!DOCTYPE html>

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:p="http://primefaces.org/ui"
                template="/layout/someFile.xhtml" >

以下是我嘗試過的事情:

1)將Glassfish JSF更新為2.1.17,因為我讀到舊版Mojarra存在一個錯誤導致它忽略了DOCTYPE。

2)我補充說:

<meta http-equiv="X-UA-Compatible" content="IE=9" > 

每個頁面,希望它會強制執行IE9,但這不起作用。

3)然后我嘗試使用content =“IE = Edge”,仍然沒有變化。

4)我將DOCTYPE更改為:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

不確定XHTML是否需要這個嚴格的DOCTYPE來正確渲染。 但這沒效果。

任何幫助都會很棒。 我已經做了很多研究試圖解決這個問題,但是我不熟悉Web開發,所以我的理解非常有限。

我補充說:

 <meta http-equiv="X-UA-Compatible" content="IE=9" > 

每個頁面,希望它會強制執行IE9,但這不起作用。

根據此meta標簽上的MSDN文檔

X-UA-Compatible標頭不區分大小寫; 但是,它必須出現在除了title元素和其他元元素之外的所有其他元素之前的網頁標題(HEAD部分)中。

這必須出現 <title>和其他<meta>元素的所有其他元素之前 如果你仔細研究JSF / PrimeFaces生成的HTML,你會發現之前有一個PrimeFaces特定的<link>元素會阻止X-UA-Compatible標頭完成它的工作。

PrimeFaces 支持 <h:head>多個方面,以便您可以控制頭資源的排序。 以下內容應該為您做到:

<f:facet name="first">
    <meta http-equiv="X-UA-Compatible" content="IE=9" /> 
</f:facet>

同樣,這是針對PrimeFaces的,而不是標准的JSF。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM