0

我的应用程序中有一个简单的 menuBar,在 chrome 和 firefox 上运行得非常好。但是,当我用 IE 8 进行测试时,菜单栏的样式被破坏了。我认为只是样式,因为链接工作正常。下面是我在 IE 8 上的菜单截图: 我的 IE 8 上的菜单栏

我的菜单栏代码:

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

    <ui:composition>
        <h:form id="menuForm">
            <p:menubar id="appMenu">
               <p:menuitem value="Celulares" url="#{menuMB.toMeusCelularesIndex()}" rendered="#{p:ifAnyGranted('USER')}" />

                <p:submenu label="Celulares (Admin)" rendered="#{p:ifAnyGranted('ADMIN')}">
                    <p:menuitem value="Titulares" url="#{menuMB.toCelularTitularIndex()}" rendered="#{p:ifAnyGranted('ADMIN')}" />
                    <p:menuitem value="Agregados" url="#{menuMB.toCelularAgregadoIndex()}" rendered="#{p:ifAnyGranted('ADMIN')}" />
                </p:submenu>

                <p:submenu label="Faturas" rendered="#{p:ifAnyGranted('ADMIN')}">
                    <p:menuitem value="Titulares" url="#{menuMB.toFaturaTitularIndex()}" rendered="#{p:ifAnyGranted('ADMIN')}" />
                    <p:menuitem value="Agregados" url="#{menuMB.toFaturaAgregadoIndex()}" rendered="#{p:ifAnyGranted('ADMIN')}" />
                </p:submenu>

                <p:submenu label="Sistema" rendered="#{p:ifAnyGranted('ADMIN')}">
                    <p:menuitem value="Forçar Login" url="#{menuMB.toForcarLogin()}" rendered="#{p:ifAnyGranted('ADMIN')}"/>
                    <p:menuitem value="Fazer Checkup" url="#" rendered="#{p:ifAnyGranted('ADMIN')}" />
                    <p:menuitem value="Administradores" url="#{menuMB.toAdministradores()}" rendered="#{p:ifAnyGranted('ADMIN')}" />
                    <p:menuitem value="Parâmetros do Sistema" url="#{menuMB.toParametrosIndex()}" rendered="#{p:ifAnyGranted('ADMIN')}" />
                </p:submenu>

                <p:menuitem value="Sair" url="#{menuMB.toLogout()}" rendered="#{p:ifAnyGranted('USER')}" />
            </p:menubar>
        </h:form>
    </ui:composition>
</html>

我访问了菜单栏展示,它可以在 IE 8 上运行。我只能想象我在代码上犯了一些错误。我目前正在使用:

  • Primefaces 4.0,
  • 我的面孔 2.1.12
  • 雄猫 7.0.42。

如果您需要更多信息,请告诉我。

4

1 回答 1

1

在 IE8 中检查您的开发人员工具,open your website where style brokenPrimefaces showcase在两种情况下检查文档模式和浏览器模式。看看您在加载两个网站时是否发现任何差异。查看这些链接以了解有关此行为的更多信息

http://social.msdn.microsoft.com/Forums/ie/en-US/afb57ce6-d149-4a09-8811-63c0645c92e6/force-ie8-to-render-in-ie8-standard-mode?forum=iewebdevelopment

此链接告诉如何通过在您的文件中指定来强制 IE8 以不会以CSS编程方式破坏您的模式打开XHTML

http://blog.primefaces.org/?p=1433

于 2013-10-24T13:37:11.003 回答