Issue #5689๐Ÿ’ฌ AnsweredOpened Feb 20, 2024by mitcht0 reactions

<> is introduced at the beginning editor.getHtml()

Quick answerby mitcht

I whittled the json down a quite a bit, and noticed there is some possibly invalid JSON being generated as output? Its like the introduction of the escaped double quotes is off slightly. JSON.stringify and JSON.parse don't seem to care about it, but theres something going on.

Read full answer below โ†“

Question

GrapesJS version[X] I confirm to use the latest version of GrapesJSWhat browser are you using? Chrome Version 121.0.6167.185 (Official Build) (64-bit)Reproducible demo link https://jsfiddle.net/ja50kzne/4/Describe the bug How to reproduce the bug?I had a webpage from a previous version of grapesJS that loads into grapes correctly. You can see this in the fiddle. The latest version of GrapesJS "created" the JSON seen in the fiddle. I did not manipulate it.Notice that grapesJS does load, no errors in the console. When performing editor.getHtml (for db storage), I see that there is an empty elem...

Answers (4)

mitchtโ€ข Feb 20, 2024

I whittled the json down a quite a bit, and noticed there is some possibly invalid JSON being generated as output? Its like the introduction of the escaped double quotes is off slightly. JSON.stringify and JSON.parse don't seem to care about it, but theres something going on.

artfโ€ข Feb 21, 2024

The root component of the page should be a wrapper, in your case is a textnode (eg. this might break a lot of stuff), with an empty tagName (the reason behind <>) and for some reason content: "undefined"(?) <img width="377" alt="Screenshot 2024-02-22 at 00 44 33" src="https://github.com/GrapesJS/gr...

mitchtโ€ข Feb 21, 2024

This is what was coming out of Grapes 0.18.4, therefor it was generated by grapes. I would expect if content was "undefined", grapes would either strip it or ignore it. For now i'm just stripping the <> out on my end, but I thought I'd just share it with you.

GJS Helperโ€ข May 17, 2026

The issue you're encountering with <> being prepended to your HTML output from editor.getHtml() is due to an invalid component definition in the JSON data you are loading into GrapesJS. Specifically, your components array contains an empty string "" as its first element. Root Cause: GrapesJS expect...

Related Questions and Answers

Continue research with similar issue discussions.

Paid Plugins That Match This Issue

Curated by issue keywords and label relevance to help you ship faster.

View all plugins

Loading paid plugin recommendations...

Free option

Check the open-source GrapesJS plugins on GitHub or run a quick search in our free catalog.

Browse free plugins โ†’
Premium option

Premium plugins ship with support, regular updates, and production-ready features โ€” save days of integration work.

Browse premium plugins โ†’

Related tutorials

In-depth guides on the same topic.

All tutorials โ†’

Browse Plugin Categories

Jump directly to plugin category pages on the marketplace.