it-swarm-es.tech

JCE / TinyMCE - Sigue intentando arreglar HTML válido e inválido

De todos los editores de Joomla que hemos utilizado, JCE se ha adaptado mejor a nuestros propósitos y clientes. Pero hay algunos problemas con el editor que pueden causar problemas cuando codificamos algo, luego se cambia a wysiwyg y el editor intenta 'arreglar' nuestro html perfectamente válido.

Antes de ir a hacer preguntas, sí, lo hemos configurado para permitir todos los elementos que a JCE le gusta restringir, y no, NO está configurado para validar/limpiar el html. Las únicas restricciones que tenemos son para pegar contenido en el editor.

Anexo A:

<a href="#"></a>

Esto desaparecerá al alternar el editor y viceversa. Reemplazado con:

<p>&nbsp;</p>

Anexo B:

<a id="#nameofanchor"></a>

Cambios a:

<p>&nbsp;</p>

Anexo C:

<div><a id="#nameofanchor"></a></div>

Cambios a:

<div>&nbsp;</div>

Anexo D:

<a id="hello" class="link">Hello</a>

Cambios a:

<p><a id="hello" class="link"></a>Hello</p>

Anexo E:

<a href="#">
<div>
<h2>Our Work</h2>
</div>
</a>

Cambios a:

<p><a href="#"></a></p>
<div>
<h2><a href="#">Our Work</a></h2>
</div>
<p>&nbsp;</p>

Ahora, queremos usar id en lugar de name para nuestro ancla, porque es válido en HTML5, mientras que técnicamente name no lo es. Además, ¿en qué universo es id una asignación no válida a un enlace?

Además, ahora que es totalmente legítimo envolver un div con enlaces, ¿por qué JCE los eliminaría también?

¿Es solo una configuración que me falta? ¿Alguien tiene alguna idea de cómo puedo usar el editor para que podamos codificar como necesitamos en el editor, pero nuestros clientes no pueden destruirlo simplemente guardando en wysiwyg?

Editar: he probado esto en Chrome, Firefox y Safari. No pienses que tiene algo que ver con el navegador.

Editar: he probado esto con la configuración del contenedor. Tanto el Contenedor de párrafo y el Párrafo al entrar como el Contenedor de división y el Separador al ingresar causan esto. Los otros dos, Sin contenedor y párrafo al ingresar, Sin contenedor y salto de línea al ingresar, no lo causan. El problema es que necesito la primera configuración. Por mucho que sea bueno darles a los clientes el beneficio de la duda, simplemente no se puede confiar en que sigan las instrucciones y agreguen formato de párrafo a su texto.

Confirmado: Esto también sucede con TinyMCE.

Entonces, sabemos qué causa esto, la configuración del Contenedor de párrafos, ¿cómo lo solucionamos mientras mantenemos viva esa configuración?

9
Faye

Uso JCE Editor en todos nuestros sitios, pero también hemos comenzado a instalar Sourcerer by NoNumbers. Esto le da un sencillo botón INSERT CODE al editor JCE que lo protege de ser modificado.

http://www.nonumber.nl/extensions/sourcerer

7
YellowWebMonkey

Hay algunas configuraciones secretas para JCE. Sé que la siguiente configuración se detiene &nbsp; se agrega a divs vacíos, tal vez se usa para borrar flotantes, lo que causa problemas de altura de línea cuando se procesa:

In the Editor Global Configuration, add:
remove_div_padding:1 
to Custom Configuration Variables. 

Esperaría que haya más que pueda controlar cualquier aspecto del editor.

2
BodgeIT

Creo que debe ser la configuración de la tipografía en: Perfil -> Parámetros del editor -> Tipografía. Intente configurar el elemento de contenedor y la tecla Enter en NoContainer y LineBreak en Enter para ver si aún aplica algún cambio a su html.

Recuerde también que la configuración de Validación de HTML tiene una configuración para cada perfil del Editor y que Joomla también proporciona un filtro global en la página de configuración global establecida por el grupo de usuarios. Asegúrese de que no haya configuraciones allí para cada grupo de usuarios.

1
FFrewin

Este comportamiento no es exclusivo de JCE. TinyMCE se comporta de la misma manera. Este comportamiento puede no estar limitado a TinyMCE, podría ser un comportamiento DOM del navegador.

JCE realmente se toma la molestia de tratar de mantener algunas etiquetas vacías, el método empleado es rellenar con un espacio.

https://github.com/widgetfactory/jce-editor/blob/master/editor/tiny_mce/plugins/cleanup/editor_plugin.js

0
Peter Wiseman