Entidades de strips grapesjs (mayormente insertadas por CKEditor)
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:
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)
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/0a122cd7b558bcf391cfd7e4608dffad3ba9de53/src/editor/config/config.js#L104-L105
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 ;)
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.
Issue #1471
[Pregunta] Gestor de bloques e imagen
¡Hola! Uso este código para añadir un nuevo bloque: blockManager.add("image", { etiqueta: 'Image', categoría: 'Básico', atributos: { clase:...
Issue #519
No hay bloques por defecto
Uso de este código Tengo un editor pero no hay bloqueos. Tampoco veo los iconos del tamaño de pantalla, pero sí hay otros iconos. Como pued...
Issue #1560
Aplica cambios en el estilo de mager a una clase
Hola @artf, he notado que cuando uso el gestor de estilos aplica el estilo a toda la clase del componente seleccionado Por ejemplo, si teng...
Issue #2001
No se puede acceder a la aplicación en la red LAN
Hola @artf, ¿Podrías ayudarme aquí, por favor? No puedo acceder a esta aplicación en la red LAN, ¿podrías ayudarme con qué hacer para que e...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
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 →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.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.