Issue #1577💬 RespondidoAbierto el 14 de noviembre de 2018por emilsedghReacciones 1

Gestor de código de interrupciones de comentarios CSS en línea

Respuesta rápidapor emilsedgh1

Vale, por fin he conseguido reproducir esto de nuevo. Reabriendo con mejor violín. El código dentro de GJS es '''html <p style="/ color: #ffffff; /"></p> <span style="color: red;">Bar</span> El problema es que el '/* color:#ffffff;' no tiene la etiqueta de comentario de cierre. Por lo tanto, renderizaría cualquier CSS...

Lee la respuesta completa abajo ↓

Pregunta

Aparentemente esto es un fragmento válido de html y css:

'<div style="color: red; /* altura 200px; */; peso-fuente: negrita;">'

(De ahí la propiedad de altura comentada)

Grapesjs tiene dificultades para tratar este tipo de atributo, ya que el atributo estilo en el modelo se almacena así:

! screenshot_20181113_165603

El gran problema es que el 'buildFromObject' de CssGenerator considera '/' como parte del nombre de la regla para '/ height', y lo concatena toda la cadena css. Así que el código css básicamente se commented out cuando llega a este modelo y se vuelve un blob inutilizable de css comentado.

Obviamente, la verdadera solución no está en CodeManager. Quien interprete '/* height' como nombre de regla está cometiendo un error.

Respuestas (3)

emilsedgh24 de agosto de 2019

Vale, por fin he conseguido reproducir esto de nuevo. Reabriendo con mejor violín.

El código dentro de GJS es

'''html

<p style="/* color: #ffffff; */"></p> <span style="color: red;">Bar</span> ``` El CSS recuperado por 'editor.getCss()' es:

'''css

  • { cuadro-dimensionamiento: border-box; } cuerpo {margin: 0;}. c620{/* color:#ffffff;}. c629{color:red;}

El problema es que el '/* color:#ffffff;' no tiene la etiqueta de comentario de cierre. Por lo tanto, renderizaría cualquier CSS que venga después.

Mis disculpas por la respuesta tardía.
no-response[bot]26 de noviembre de 2018

Este asunto se ha cerrado automáticamente porque no ha recibido respuesta a nuestra solicitud de más información por parte del autor original. Con solo la información que actualmente hay en el asunto, no tenemos suficiente información para actuar. Por favor, contacta con nosotros si tienes o encuentras las respuestas que necesitamos para que podamos investigar más a fondo.

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.