Grapesjs añade "-2" a los ids en el html con localStorage
Solo debería ocurrir cuando añades un HTML que contiene un ID ya definido, así que el editor lo incrementa para evitar conflictos. ¿Seguro que no añades el mismo contenido dos veces? En cualquier caso, la función que realiza la comprobación es la siguiente: https://github.com/artf/grapesjs/blob/dev/src/domcomponents/m...
Lee la respuesta completa abajo ↓Pregunta
Intenté reproducir esto en tu demo y no pude, pero tengo un problema muy extraño. Esperaba que pudieras indicarme la dirección correcta al depurar esto.
En cuanto guardo el html en localStorage y actualizo la página (verás una breve pausa en la pantalla de pantalla), grapesjs mágicamente añade "-2" a cada id del html. Consulta el screencast a continuación:
¿Puedes pensar en qué parte de tu código podría estar ocurriendo esto y por qué? ¿Cómo evito esto?
¡Gracias @artf
Respuestas (3)
Solo debería ocurrir cuando añades un HTML que contiene un ID ya definido, así que el editor lo incrementa para evitar conflictos. ¿Seguro que no añades el mismo contenido dos veces?
En cualquier caso, la función que realiza la comprobación es la siguiente: https://github.com/artf/grapesjs/blob/dev/src/dom_components/model/Component.js#L1262
Que se usa aquí (cuando añades contenido nuevo): https://github.com/artf/grapesjs/blob/dev/src/dom_components/model/Components.js#L51
¿Usas la última versión?
@artf, sí, lo hago. 0.15.9, aunque es igual con versiones anteriores. Intenté eliminar todos los plugins para mantenerlo todo muy limpio, pero sigo recibiendo esto en cuanto se genera localStorage. ¿Alguna idea de por qué o dónde podría generarse esto para poder depurar?
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #3316
El editor no elimina los bloques de script muertos
Versión: 0.16.34 ¿Puedes reproducir el error de la demo? [ ] Sí [x] No Según tengo entendido, el diálogo de importación de código se salta...
Issue #1708
Los eventos de StyleManager se activan varias veces por cambio
Para reproducir: En una instalación limpia de GrapesJS, dentro de la página de demo (dentro de index.html), añade un oyente de eventos así:...
Issue #2805
[PREGUNTA] "Los cambios que hayas hecho pueden no guardarse." Se muestra una ventana emergente de alerta
Hola a todos Tengo un problema relacionado con Alert que aparecía cuando intentaba cerrar sesión en la página. En realidad no sé si es un b...
Issue #1458
Los eventos de Jquery incrustados en el editor grapesjs no funcionan como se esperaba.
@artf, intenté incrustar mi plantilla en el editor grapesjs. El problema que tengo es que el editor no funciona como se espera con esa plan...
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.
Tutorial
Ship to Production Faster: What’s New in GrapesJS Shadcn
Supercharge your page builder! GrapesJS Shadcn adds live drag previews, rich text / commands, dynamic data, and canvas presets to ship to prod faster.
Tutorial
How to Build a Production GrapesJS Editor: The Complete Walkthrough of Brief, Preset, Plugins, and Services
A complete walkthrough of building a production GrapesJS editor: how to choose a preset, pick plugins, and scope setup services without burning a sprint.
Tutorial
GrapesJS Inline RTE Plugins Update: CKEditor 5 v0.1.4 and Froala Inline Text Editor
CKEditor 5 Inline for GrapesJS v0.1.4 fixes Studio SDK toolbar clipping, iframe injection and link balloon bugs. Compare with Froala Inline — both $69.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.