Issue #1915💬 RespondidoAbierto el 22 de marzo de 2019por arachnosoftReacciones 0

Entidades de strips   grapesjs (mayormente insertadas por CKEditor)

Respuesta rápidapor artf

Creo que el problema puede estar aquí https://github.com/artf/grapesjs/blob/0a122cd7b558bcf391cfd7e4608dffad3ba9de53/src/parser/model/ParserHtml.js#L169-L172 desafortunadamente, nodeValue devuelve la cadena ya procesada, sin ' ' Intenta usar esta opción: https://github.com/artf/grapesjs/blob/0a122cd7b558bcf391cfd...

Lee la respuesta completa abajo ↓

Pregunta

Hola @artf,

Acabamos de notar que, si importas este código en grapesjs:

'<etiqueta clase="c3100 c3152 c3212" estilo="cuadro-tamaño: borde;">Mi campo de etiqueta 1</label>  <etiqueta class="c3111 c3163 c3223" style="cuadro-dimensionamiento: border-box;">Mi campo de etiqueta 2</label>'

Con un ' ' entre las dos etiquetas de etiqueta, el ' ' se elimina del código, dejando las dos <label> etiquetas "pegadas" entre sí.

Reproduje el número con la demo del boletín:

! uvas, se desnuda nbsp

Si pongo algo más entre los dos (incluso, a veces... espacios reales), todo se conserva.

¿Sabes si hay algún código explícito de eliminación en algún sitio? He investigado grapes.js y solo he encontrado una referencia al número #1362, pero no parece tener nada que ver con mi problema actual:

'// Cambiar algunos espacios a NBSP para evitar que el navegador colapse' '// espacios finales al final de una línea al renderizar texto (número #1362).' 'función splitSpaces()'

El número #180 suena bastante parecido; Le dijiste al OP que añadiera un espacio entre todas sus etiquetas para solucionar el problema, pero el OP respondió que en realidad se solucionó con una actualización... Y también probé esto en tu demo (en la que, supongo, CKEditor debería estar bastante actualizado, sin mencionar grapesjs en sí) y el truco del "espacio entre etiquetas" no impide que grapesjs se despojen en mi caso...

Quizá podría intentar evitar esto detectando ' ', a través de isComponent(), pero me gustaría leer tu opinión primero, por si fuera un error real en algún sitio, si no es una elección explícita por tu parte.

¡Gracias! -Maxime

Respuestas (3)

arachnosoft25 de marzo de 2019

Muchas gracias por el consejo @artf, esto (¿no documentado?) ¡La opción de configuración del analizador parece solucionar mi problema! Por supuesto, tuve que ponerlo en 'verdadero', no en '0', porque quería mantener esos espacios vacíos ;)

Y tuve que ponerlo en el editor. objeto parser.getConfig(). Configurar esta opción a través de grapesjs.init() no tiene ningún efecto.

! inicialización de keepEmptyTextNodes ! keepEmptyTextNodes Usando

¡Voy a cerrar el número! Pero deberías añadir esto en tu documentación ;)

lock[bot]27 de marzo de 2020

Este hilo se ha bloqueado automáticamente porque no ha habido actividad reciente desde que se cerró. Por favor, abre un nuevo problema para bugs relacionados.

Preguntas y respuestas relacionadas

Continúa investigando con debates sobre temas similares.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.

Explora plugins gratuitos →
Opción premium

Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.

Explora plugins premium →

Tutoriales relacionados

Guías detalladas sobre el mismo tema.

Todos los tutoriales →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.