3 Replies Latest reply on Jun 28, 2016 4:09 AM by Michal Petrov

    Richfaces 4.5 popupPanel problem with "Compatibility View"

    Christian A Newbie

      Hello,

       

      I have following problem:

       

      We're migrating from Richfaces3 to Richfaces4 (4.5.13). One of our requirements is, that the application must run with an activated "Compatibility View" of IE11. Per default, the document mode is set to IE7. We have no access to any configuration of the InternetExplorer.

      The application runs within an intranet-portal, which uses iframes for every integrated application.

       

      If we load the page, there is basically no problem. But if we want to open an <rich:popupPanel> we see this:

       

       

      We have tried to set an Meta-Tag, which tells the IE11, in which version our views should be rendered.

       

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <f:view 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:a4j="http://richfaces.org/a4j"
          xmlns:rich="http://richfaces.org/rich" contentType="text/html"
          locale="#{localeBean.locale}">
      
          <h:head>       
              <meta http-equiv="X-UA-Compatible" content="IE=edge"/>   
          </h:head>
          <h:body>
              <!-- some XHTML-Code -->
             
              <div id="content">
                  <ui:insert name="content">no content set</ui:insert>
              </div>       
          <h:body>
      </f:view>
      
      

       

       

      This solution does not work for us.

       

      Another variant was to set a HTTP-Response-Header:

       

      @WebFilter("/*")
      public class CompatibilityFilter implements Filter {
      
          public void destroy() {
      
          }
      
          public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
                  throws IOException, ServletException {       
              HttpServletResponse response = (HttpServletResponse) res;
              response.setHeader("X-UA-Compatible", "IE=edge");
              chain.doFilter(req, res);
          }
      
          public void init(FilterConfig arg0) throws ServletException {
      
          }
      }
      

       

      This solution doesn't work either.

      But if I view the source-code of the rendered page, there is set the META-Tag every time (for both solutions).

       

      Our Popup-Panel is defined like this:

       

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <ui:composition 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:a4j="http://richfaces.org/a4j"
          xmlns:rich="http://richfaces.org/rich">
         
          <rich:popupPanel id="test1" width="410" height="200"
              modal="true" autosized="true"
              domElementAttachment="parent">
              <f:facet name="header">
                  <h:panelGroup>
                      <h:outputText value="TestText" />
                  </h:panelGroup>
              </f:facet>
             
              <!-- some XHTML-Code -->
             
          </rich:popupPanel>
      </ui:composition>
      

       

      ...and is called like this:

       

      <a4j:commandButton ... action="#{rich:component('test1')}.show();" ... />
      

       

       

      Can some of guys give us a helpful hint how to fix our problem?!?!

      I would be very thankful for any help!!

       

      Best regards,

      asche298