De todos os editores de Joomla que usamos, o JCE melhor se adequou aos nossos propósitos e clientes. Mas existem alguns problemas com o editor que podem causar problemas quando codificamos algo, então é alternado para wysiwyg e o editor tenta 'consertar' nosso html perfeitamente válido.
Antes de você fazer perguntas - sim, nós o configuramos para permitir que todos os elementos que a JCE gosta restrinja e não, NÃO está configurado para validar / limpar o html. As únicas restrições que temos são para colar o conteúdo no editor.
Anexo A:
<a href="#"></a>
Isso desaparecerá no alternador do editor e vice-versa. Substituído por:
<p> </p>
Anexo B:
<a id="#nameofanchor"></a>
Muda para:
<p> </p>
Anexo C:
<div><a id="#nameofanchor"></a></div>
Muda para:
<div> </div>
Anexo D:
<a id="hello" class="link">Hello</a>
Muda para:
<p><a id="hello" class="link"></a>Hello</p>
Anexo E:
<a href="#">
<div>
<h2>Our Work</h2>
</div>
</a>
Muda para:
<p><a href="#"></a></p>
<div>
<h2><a href="#">Our Work</a></h2>
</div>
<p> </p>
Agora, queremos usar id em vez de nome para nossa âncora, porque é válido no HTML5, enquanto tecnicamente o nome não é. Além disso, em que universo id é uma atribuição inválida a um link?
Além disso, agora que é totalmente legítimo agrupar uma div com links, por que o JCE também os tira?
Está faltando apenas uma configuração? Alguém tem alguma idéia de como eu posso usar o editor para que possamos codificar conforme necessário no editor, mas nossos clientes não podem destruí-lo simplesmente salvando no wysiwyg?
Edit: Eu testei isso no chrome, firefox e safari. Não pense que tem algo a ver com o navegador.
Editar: testei isso com as configurações do contêiner. Contêiner de parágrafo e parágrafo em Enter e div Contêiner e div em enter causam isso. Os outros dois, Sem contêiner e Parágrafo ao entrar, Sem contêiner e quebra de linha ao entrar, não o causam. O problema é - eu preciso da primeira configuração! Por mais que fosse ótimo oferecer aos clientes o benefício da dúvida, eles simplesmente não podem confiar em seguir as instruções e adicionar formatação de parágrafo ao texto.
Confirmado: isso também acontece com o TinyMCE.
Então - sabemos o que causa isso - a configuração do Parágrafo contêiner - agora como contorná-lo enquanto mantemos essa configuração ativa?
Respostas:
Eu uso o Editor JCE em todos os nossos sites, mas também começamos a instalar o Sourcerer by NoNumbers. Isso fornece um botão fácil INSERIR CÓDIGO para o editor JCE, que o protege de ser modificado.
http://www.nonumber.nl/extensions/sourcerer
fonte
Existem algumas configurações secretas para o JCE. Eu sei que a seguinte configuração deixa de
ser adicionada a divs vazias, talvez usada para limpar flutuadores, o que causa problemas de altura da linha quando renderizados:Eu esperava que houvesse mais que possa controlar qualquer aspecto do editor.
fonte
Eu acho que deve ser as configurações de tipografia em: Perfil -> Parâmetros do editor -> Tipografia . Tente definir o elemento Container e a tecla Enter como NoContainer & LineBreak em Enter para verificar se ainda há alguma alteração no seu html.
Lembre-se também de que a configuração de Validação HTML possui configurações para cada perfil do Editor e que o Joomla também fornece um filtro global na página de configuração global definida pelo grupo de usuários. Verifique se não há configurações para cada grupo de usuários.
fonte
Esse comportamento não é exclusivo do JCE. O TinyMCE se comporta da mesma maneira. Esse comportamento pode não estar limitado ao TinyMCE, pode ser um comportamento do DOM do navegador.
A JCE realmente se preocupa em tentar manter algumas tags vazias, o método empregado é preencher um espaço.
https://github.com/widgetfactory/jce-editor/blob/master/editor/tiny_mce/plugins/cleanup/editor_plugin.js
fonte