A função de alinhamento de texto do Nicedit não funciona no Firefox
-
22-09-2019 - |
Pergunta
Encontrei problemas com o Nicedit (editor de texto Rich) ao digitar algum texto e clicar no botão Alinhar para alinhar o texto. O texto não se alinha apenas no Firefox e recebeu esta mensagem no Firebug
Exceção não capturada: [Exceção ... "Componente devolvido Código de falha: 0x80004005 (ns_error_failure) [Nsidomnshtmldocument.execCommand] nsresult: "0x80004005 (ns_error_failure)" Localização: "JS Frame ::::: http://js.nicedit.com/nicedit-latest.js:: Anonymous :: Linha 38 "Dados: Não] Linha 0
Por favor, você poderia me ajudar a resolver esse problema.
Obrigado,
Solução
Se você estiver usando o código compactado, vá para a linha 37 e encontre este código:
Pesquise B. Contentável
Você encontrará uma condição se exatamente assim:
if (B.Lontentitable || !! window.opera)
Substitua por isso:
if ((b.conteentitable || !! window.opera) && Navigator.UserAgent.Indexof ("Firefox/3") == -1)
Outras dicas
A resposta acima lhe trará o modo Iframe, o que é bastante lento. É melhor você olhar aqui: http://web2.0goodies.com/blog/javascript/nicedit-firefox-center-and-tight-align-bug-patch/. Isso realmente 'corrige' o bug ff.
Basta adicionar isso: document.execCommand('StyleWithCSS', false, false);
... logo antes do seu execCommand(cmd, false, val)
comando. Em torno da linha 576.
nicCommand : function(cmd,args) {
if(navigator.appVersion.indexOf("MSIE") <= 0) {
//do not use for IE
document.execCommand('StyleWithCSS', false, false);
}
document.execCommand(cmd,false,args);
}