Escondida bug FreeTextBox no Firefox
-
05-07-2019 - |
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
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!