PageKit: el creador de sitios GrapesJS autoalojado, con el código fuente incluido. Obtener acceso anticipado

Problemas con GrapesJS

Problemas analizados por 3,464 en GitHub 370 resuelto · 90 abierto. Busca, filtra y explora respuestas probadas en batalla.

Se han detectado problemas con 220

🔍 canvas
#670713 de febrero de 2026por saeedhbiRespuesta 1
Reacciones 0

No se pueden leer propiedades de null (leyendo 'hasFocus') en el módulo Canvas

Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Chrome (versiones 142-144), Safari (versiones 16.3, 26.1), quizá otros también Enlace de demo reproducible https://jsfiddle.net/saeedhbi/tqfe7p04/ Describe el bicho ¿Cómo reproducir el bicho? Inicializar un editor GrapeJS (v0.22.1...

GJS Helper

El TypeError: Cannot read properties of null (reading 'hasFocus') en el módulo GrapesJS Canvas es un problema conocido derivado de una condición de carrera. Ocurre cuando comandos de teclado (como Ctrl+Z, Eliminar) intentan llamar a editor...

#670613 de febrero de 2026por saeedhbi3 respuestas
Reacciones 0

TypeError: e.getRoot no es una función (condición de carrera en el Gestor de estilos)

Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Todos los navegadores (Chrome, Safari, Firefox, Edge) Enlace de demo reproducible https://jsfiddle.net/saeedhbi/powxyjdq/3/ Describe el bicho ¿Cómo reproducir el bicho? Inicializar un editor GrapeJS Seleccionar un componente en el...

artf

Similar a https://github.com/GrapesJS/grapesjs/issues/6705 No puedo crear ese tipo de condición de carrera (por ejemplo, seleccionar y eliminar mediante API) y en tu ejemplo estoy comprobando getRoot en un componente, pero no existe tal mé...

saeedhbi

Igual que https://github.com/GrapesJS/grapesjs/issues/6705#issuecomment-3921025039, el problema estaba en nuestra biblioteca externa que usaba GrapeJS y, como tuve la misma situación que el 6705, lo cerraré. Gracias por tu reseña.

GJS Helper

Esta TypeError: e.getRoot is not a function es una condición de carrera conocida dentro del Administrador de Estilos de GrapesJS, especialmente cuando los componentes se seleccionan rápidamente y luego se eliminan. Ocurre porque la lógica...

#670513 de febrero de 2026por saeedhbi3 respuestas
Reacciones 1

TypeError: No se pueden leer propiedades de undefined (leyendo 'toLowerCase') en el handler de teclado

Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Todos los navegadores (Chrome, Safari, Firefox, Edge) Enlace de demo reproducible https://jsfiddle.net/saeedhbi/tdsLa6qe/ Describe el bicho ¿Cómo reproducir el bicho? Crear un editor básico de GrapeJS (versión 0.22.11 o 0.22.14) A...

saeedhbi

Hola @artf, tras investigar más a fondo en la traza completa de la pila, descubrí que el error no está en GrapesJS. La llamada 'event.key.toLowerCase()' proviene de nuestro propio código de aplicación — un global 'window.addEventListener("...

artf

Hola @saeedhbi, ¿dónde ves exactamente 'event.key.toLowerCase()' en nuestro código? ¿Seguro que no viene de tu lado? Por desgracia, el jsfiddle no ayuda, parece que la IA está 😅 demasiado descuidada, ni siquiera carga el editor. ¿Quizá pu...

GJS Helper

El TypeError: Cannot read properties of undefined (reading 'toLowerCase') en el manejador de teclado de GrapesJSes un problema conocido que surge cuando ciertos eventos de teclado, especialmente los de los Editores de Métodos de Entrada (I...

#66964 de febrero de 2026por jasonvijayyRespuesta 1
Reacciones 0

Se cierra al llamar a component.replaceWith() durante eventos del ciclo de vida con UndoManager activado

Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Chrome Enlace de demo reproducible https://codepen.io/Logeshwaran-codepen/pen/raLJpYb Describe el bicho ¿Cómo reproducir el bicho? Seleccionar los componentes disponibles en lienzo. Escucha un evento del ciclo de vida (por ejemplo...

GJS Helper

El problema que has encontrado es un error común al realizar manipulaciones sincrónicas de DOM o árbol de componentes dentro de GrapesJS eventos del ciclo de vida, especialmente cuando el UndoManager está activo. El problema principal radi...

#66952 de febrero de 2026por Axel303Respuesta 1
Reacciones 0

Evitar que el defecto por defecto no funcione en Edge

Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Edge 144.0.3719.92 Enlace de demo reproducible https://jsfiddle.net/L61f0qtz/ Describe el bicho ¿Cómo reproducir el bicho? Editor de GrapesJS abierto en Microsoft Edge. Añadir un keymap para guardar usando Ctrl+S o Ctrl+Shift+S co...

GJS Helper

El problema que estás experimentando con preventDefault() no funciona para Ctrl+S y Ctrl+Shift+S en Microsoft Edge cuando el lienzo GrapesJS está enfocado es un reto común relacionado con cómo los navegadores gestionan eventos de teclado d...

#669016 de enero de 2026por HavokInspirationRespuesta 1
Reacciones 0

Violaciones del CSP

Versión GrapesJS [x] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? Chrome 143.0.7499.193 Enlace de demo reproducible https://grapesjs.com/demo.html Describe el bicho Hola. ¿Cómo reproducir el bicho? Importar GrapeJS en un archivo JS / entorno de nodo: en una página web usando estrictas r...

GJS Helper

GrapesJS, por su naturaleza como creador web dinámico, depende de la inyección de estilos y la manipulación del DOM, lo que puede llevar a violaciones de la Política de Seguridad de Contenidos (CSP), especialmente con normas muy estrictas...

#668512 de enero de 2026por shery4 respuestas
Reacciones 0

Los estilos de componentes personalizados no se aplican tras la eliminación y la re-suma

Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Chrome v143.0.7499.193 Enlace de demo reproducible https://codesandbox.io/p/sandbox/2l3887 Describe el bicho ¿Cómo reproducir el bicho? Abre la página y carga el editor GrapesJS Selecciona el componente Fila y elimínalo Haz clic e...

mdmontesinos

Me estoy enfrentando a un problema similar, donde el componente reañadido tiene la propiedad de estilos correctos: <img width="1112" height="17" alt="Image" src="https://github.com/user-attachments/assets/474011c4-b1be-48df-9aa8-14c3dcdfc6...

artf

@mdmontesinos tu uso no es correcto, los 'estilos' deben definirse en la definición de componentes, y no se espera que cambien. Además, es incorrecto usar IDs para la definición de componentes si se espera que el componente se reutilice, e...

mdmontesinos

@artf estoy usando un ID porque siempre habrá una instancia única de ese componente en mi proyecto. Mi caso de uso es que un componente está diseñado externamente para usarse como "fondo de fondo" y luego importado a proyectos que lo utili...

#667817 de diciembre de 2025por J-Wick4Respuesta 1
Reacciones 0

YouTube ahora requiere el atributo referrerpolicy="origen-estricta-when-cross-origin" en los iframes de vídeo incrustados para una reproducción adecuada.

Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Valiente Enlace de demo reproducible na Describe el bicho ¿Cómo reproducir el bicho? Prueba a añadir un vídeo de YouTube a una página de destino y averígualo. ¿Cuál es el comportamiento esperado? El vídeo de YouTube se renderiza y...

GJS Helper

Este es, de hecho, un informe de error válido. YouTube ha actualizado sus requisitos de incrustación y, sin el atributo referrerpolicy="strict-origin-when-cross-origin" en el iframe, los vídeos pueden fallar, mostrando un error o obligando...

#66719 de diciembre de 2025por padcom2 respuestas
Reacciones 1

'component.closestType()' no está definido

Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Cualquiera Enlace de demo reproducible https://github.com/padcom/grapesjs-closestType-missing Describe el bicho Este error fue introducido en aquí. Antes de este cambio, todo funcionaba como se esperaba. Supongo que el evento de '...

padcom

Resulta que el segundo parámetro no siempre es el componente sino el emisor del evento, lo que significa que a veces es la colección de componentes que obviamente no tiene el método 'closestType()'. ¡Gracias @artf por explicármelo!

GJS Helper

Parece que puede haber un pequeño malentendido respecto al uso de component.closestType(). Después de revisar los pasos de reproducción y el código proporcionados, component.closestType efectivamente es una función en el objeto component p...

#66695 de diciembre de 2025por pierodetomi3 respuestas
Reacciones 0

El reordenamiento entre niveles de los bloques en el Administrador de Capas provoca errores en el Clasificador y rompe los intentos de movimiento posteriores

Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Chrome Enlace de demo reproducible https://grapesjs.com/demo.html Describe el bicho ¿Cómo reproducir el bicho? Empezar desde una instancia de editor nueva con un lienzo vacío Desde el panel de Bloques, arrastra un bloque "1 Column...

lexoyo

Supongo que es el ¿igual que este bug también?

pierodetomi

No creo que sea el mismo problema. En la que enlazaste, los elementos desaparecen, mientras que en mi caso el Gestor de Capas acaba en un estado en el que ya no puedes mover una capa. Podrían estar relacionados a un nivel superior como "pr...

GJS Helper

Este es un problema conocido en GrapesJS relacionado con cómo las instancias internas del Clasificador (usadas para arrastrar y soltar tanto en el Gestor de Capas como en el Canvas) mantienen su estado tras operaciones complejas de reorden...

Explora todos los temas