Primefaces IE9 X-UA-COMPATIBLE

时间:2015-04-10 07:45:38

标签: jsf-2 primefaces tomcat6

我使用primefaces 5.1 with spring 4,所有的工作都像firefox上的魅力,但我的客户希望PF在IE9上工作,当我测试一些页面时,我看到渲染是不同的,并且在谷歌搜索之后,我发现了这个:

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

和奇迹一切正常!

差不多......

所有页面都可以,但是当我回到eclipse控制台后,我看到很多错误!喜欢:

INFO: Server startup in 3280 ms 
10 avr. 2015 09:27:59 com.sun.faces.application.resource.ResourceHandlerImpl logMissingResource
ATTENTION: JSF1064 : Impossible de localiser ou de servir une ressource, theme.css, depuis la bibliothèque primefaces-aristo.
10 avr. 2015 09:27:59 com.sun.faces.application.resource.ResourceHandlerImpl logMissingResource
ATTENTION: 
ClientAbortException:  java.net.SocketException: Connection reset by peer: socket write error
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:369)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:448)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:363)
...
Caused by: java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
...
10 avr. 2015 09:27:59 com.sun.faces.application.resource.ResourceHandlerImpl logMissingResource
ATTENTION: JSF1064 : Impossible de localiser ou de servir une ressource, primefaces.css, depuis la bibliothèque primefaces.
10 avr. 2015 09:27:59 com.sun.faces.application.resource.ResourceHandlerImpl logMissingResource
ATTENTION: 
ClientAbortException:  java.net.SocketException: Software caused connection abort: socket write error
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:369)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:448)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:363)
...

我看到primefaces-aristo主题是默认主题并且存在于primefaces-5.1.jar中,所以它不是类路径问题,因为其他css / js没问题

我的标题:

<f:facet name="first">
    <meta http-equiv="X-UA-Compatible" content="IE=9" /> 
</f:facet>
<h:outputScript library="primefaces" name="jquery/jquery.js" />
<h:outputScript library="primefaces" name="jquery/jquery-plugins.js" />
<h:outputScript library="primefaces" name="primefaces.js" />
<h:outputStylesheet library="primefaces" name="primefaces.css"/>
<h:outputStylesheet library="primefaces" name="jquery/ui/jquery-ui.css"/>

所以如果资源没找到问题,我应该在firefox中看到它?在IE9中页面正确显示,所以我不明白这个错误。

环境公司

-primefaces 5.1
-jsf 2.2.9
-spring 4.1.4
-el-impl 2.2
-jsp-api 2.1.3-b03
-jsf-api 2.2.9
-jsf-impl 2.2.9
-el-api 2.1.2-b05
 tomcat 6

任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:0)

首次在IE中打开页面时,它会立即开始加载资源。然后IE考虑切换到兼容模式。如果它确实决定这样做,那么它将中止所有资源请求并重新启动它们。这就是你看到这些日志消息的原因。在这种情况下,它们并不重要,页面可以正常工作。

您可以告诉IE完全禁用兼容模式,并始终通过将X-UA-Compatible标头设置为IE=edge来使用实际版本。然后它不会再中止请求。