Pergunta

Ok, um pouco estranho aqui, não vi nenhum outro relato sobre isso, tivemos alguns bugs de UI relatados por usuários do IE11 recentemente, depois de fazer alguns testes percebi que depois de realizar um reRender (estou usando A4J) o IE11 está colocando HTML elementos no lugar errado, por exemplo.

<s:div id="parent" rendered="#{someCondition}">
    <div id="brother"></div>
    <div id="sister"></div>
</s:div>

aparece assim após a renderização

<s:div id="parent" rendered="#{someCondition}">
    <div id="brother">
        <div id="sister"></div>
    </div>
</s:div>

O que obviamente está causando estragos no layout

Estou misturando bastante os componentes JSF/HTML, mas não acho que isso deveria estar causando problemas?

Alguma idéia do que poderia estar causando isso?

JSF 1.2 | Richfaces 3.3 | Facelets

Foi útil?

Solução

Você já tentou definir uma meta tag para IE8 modo de renderização:

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

Como ouvi também, o RichFaces 3 suporta apenas até Internet Explorer 8, ou você pode considerar mudar para RichFaces 4 para obter suporte atual ao navegador.

Microsoft:como garantir compatibilidade

Espero que isto ajude.

Outras dicas

Como meu problema com a renderização do ajax era simples, optei por alterar a implementação (carregar todos os formulários e apenas alternar a visibilidade com jQuery) mas já passei algum tempo com isso, e lá se vai minha contribuição.

Alguns dos problemas de renderização podem ser reparados com estas atualizações:https://ruleoftech.com/2015/patching-richfaces-3-3-3-ajax-js-for-ie11 http://ruleoftech.com/2013/patching-richfaces-3-3-3-ajax-js-for-ie9

Você também pode tentar fazer um patch de protótipo.js localizado em richfaces-impl.jar org\ajax4jsf\javascript\scripts, alterando o método que define o navegador para IE usando navigator.userAgent.

Browser: {
IE: (!!(window.attachEvent &&
    navigator.userAgent.indexOf('Opera') === -1) 
    || (navigator.userAgent.toLowerCase().indexOf("like gecko") > -1 
    && navigator.userAgent.toLowerCase().indexOf("11.") > -1) )

Agora, se você depurar Prototype.Browser no console do navegador, você se tornará fiel ao IE11.

Preste atenção, pois o RF pode 'minificar' todos os scripts de terceira biblioteca que estiver usando.
Verifique os arquivos carregados no <head> do HTML.Talvez todas essas alterações devam ser feitas em richfaces-impl-3.3.3.Final.jar/org/ajax4jsf/framework.pack.js.

Eu uso o guia Richfaces-3-3-3-3-Ajax-JS-for-IE9 para poder usar Richfaces 3.3.3 com o IE11.Acabei de atualizar a versão 0.9.9.7 de Sarissa no Ajax.js.

A meta tag x-ua-compatível não poderia usá-lo no meu caso, foi em um iframe (criança) e eu ignorei a meta tag.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top