小编pat*_*957的帖子

IE9渲染IE8文档标准

我需要我的应用程序在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"> 
Run Code Online (Sandbox Code Playgroud)

但是,在"脚本"选项卡下,它显示:

<!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">
Run Code Online (Sandbox Code Playgroud)

我查看了所有的页面和模板,没有在哪里可以找到meta content ="IE = 8.0000"或上面显示的!DOCTYPE.这很奇怪.

我的所有页面都有:

<!DOCTYPE html> 
Run Code Online (Sandbox Code Playgroud)

我的主要模板有:

<!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">
Run Code Online (Sandbox Code Playgroud)

其他页面有:

<!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" >
Run Code Online (Sandbox Code Playgroud)

以下是我尝试过的事情:

1)将Glassfish JSF更新为2.1.17,因为我读到旧版Mojarra存在一个错误导致它忽略了DOCTYPE.

2)我补充说:

<meta http-equiv="X-UA-Compatible" content="IE=9" > 
Run Code Online (Sandbox Code Playgroud)

每个页面,希望它会强制执行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"> …
Run Code Online (Sandbox Code Playgroud)

xhtml jsf glassfish primefaces internet-explorer-9

3
推荐指数
1
解决办法
3399
查看次数

标签 统计

glassfish ×1

internet-explorer-9 ×1

jsf ×1

primefaces ×1

xhtml ×1