Pergunta

Eu tenho um problema com a FreeTextBox Rich Text Editor meu site ASP.NET. O problema ocorre quando eu acessar o site com o Firefox, e eu tenho uma instância FreeTextBox em uma div oculta. O div escondida também pode ser um Painel Tab AJAX. O problema real é que quando a página é carregada ele lança uma exceção não capturada (mostra firebug a função StoreHtml ()) e pára a postagem !!

É em qualquer lugar do problema e uma solução para ele ??

Graças

Foi útil?

Solução

Encontrei recentemente um problema semelhante com guias jQuery UI. O que você precisa fazer é mudar o CSS para guias escondidos para algo como:

.hiddentab
{
     position: absolute;
     left: -99999999999999;
}

Isso coloca guias escondidos longe para a esquerda, e em modo de posição absoluta isso não causa barras de rolagem horizontal para aparecer. Quando a guia é mostrado, basta remover a classe hiddentab do elemento separador.

Isto irá funcionar se o problema está relacionado ao comportamento estranho Firefox' com display:. Nenhuma

Outras dicas

Eu encontrei outra solução para o problema no caso de alguém está olhando para ele. O que fiz foi usar o JavaScript para substituir a função OnSubmit da forma, pegando assim a exceção que causou o problema, e seguindo com o resto do código.

No entanto, a solução é uma espécie de "hack", uma vez que não cobre todas as situações. Eu encontrei a solução no fórum FreeTextBox e tentei sair e ele funciona. A única diferença no meu código é que eu retornar verdadeiro no fim da função de substituição:

function OvrdSubmit()
{
    var ftbSubmit=document.forms[0].onsubmit;
    if (typeof(ftbSubmit) == 'function')
    {
        document.forms[0].onsubmit = function()
        {
            try{ftbSubmit();}
            catch(ex){}
        }
    }

    // We are ok
    return true;
}

Uma vez que o meu site é um site ASP.NET Eu também tive que adicionar esta linha no Page_Load ():

ClientScript.RegisterOnSubmitStatement(this.GetType(), String.Concat(this.ClientID, "_OnSubmit"), "javascript: return OvrdSubmit();");

Espero que ajude alguém com o mesmo problema.

O Firefox tem um problema com estar dentro de qualquer coisa com um estilo de display: none. O que fiz foi usar um div com um zIndex que escondia o div até que eu precisava exibido. Gostaria de começar por aí.

Obrigado pela sua resposta, no entanto o meu problema atualmente é que o FreeTextBox está dentro de um Painel Tab AJAX, portanto eu teria que reconstruir toda a funcionalidade de guia, a fim de fazê-lo, e eu não tenho tempo suficiente!

Por que vale a pena, eu estou perto de uma solução (eu acho), definindo o atributo .ReadOnly do FTB como true e, em seguida, configurá-lo de volta para falso na .PreRender Controlo. Ele funciona pela primeira vez a página é carregada, então agora eu tenho que descobrir como implementar isso corretamente para cada nova postagem.

Vou postar a solução se eu encontrá-lo!

Obrigado de qualquer forma!

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