带有primefaces和yaml的Internet Explorer 9

时间:2014-07-09 02:47:54

标签: internet-explorer primefaces yaml

我有一个使用primefaces 5和yaml的项目。当我在当地进行测试时,一切正常。在我的公司,我们使用IE9和最新的谷歌浏览器。当我在应用程序服务器上部署应用程序并尝试使用IE9查看它时,它看起来非常糟糕。当我使用IE9通过localhost访问时,我可以激活/停用兼容模式 - 在服务器上没有。当我访问例如primefaces展示页面还有comp。模式按钮。

如何显示/隐藏此按钮?

我试图添加:

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

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

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

到我的头上:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui"
      xmlns:c="http://java.sun.com/jstl/core" xmlns:f="http://java.sun.com/jsf/core"
        >

<h:head>
    <meta http-equiv="X-UA-Compatible" content="IE=9" />
    <title>Invoice Manager</title>
    <!-- Mobile viewport optimisation -->
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <h:outputStylesheet name="yaml/core/base.css" />
    <h:outputStylesheet name="yaml/navigation/hlist.css" />
    <h:outputStylesheet name="yaml/screen/typography.css" />
    <h:outputStylesheet name="yaml/screen/screen-FULLPAGE-layout.css" />
    <h:outputStylesheet name="yaml/print/print.css" />

    <h:outputScript name="yaml/core/js/yaml-focusfix.js" />
</h:head>

但IE9看起来总是很糟糕,并且所有主要组件都不起作用。只有通过localhost一切正常。有可能处理这个吗?

2 个答案:

答案 0 :(得分:0)

尝试将此元标记作为<head>

的第一个标记
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">

它应该阻止IE中的兼容模式。

答案 1 :(得分:0)

你有正确的想法,但问题是元元素必须在除标题之外的head部分中的所有其他条目之前。请参阅此文章:http://msdn.microsoft.com/en-us/library/ie/jj676915%28v=vs.85%29.aspx

您可以通过使用构面并“首先”命名它来实现此目的。这对渲染器有特殊意义,它会将其内容置于其他渲染器之前。

<f:facet name="first">
  <meta http-equiv="x-ua-compatible" content="IE=edge"/>
</f:facet>