BUG: <> is introduced at the beginning editor.getHtml()
Question
GrapesJS version
- I confirm to use the latest version of GrapesJS
What 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 element
<>being introduced - Note the console.log
What is the expected behavior?
I expect to not see <> at the start of the string from editor.getHtml()
What is the current behavior?
I see <> upon using .editor.getHtml()
I want to reiterate that I have not messed with the JSON. If there is something in there, it was generated by a previous version of grapesJS.
If is necessary to execute some code in order to reproduce the bug, paste it here below:
See fiddle https://jsfiddle.net/ja50kzne/4/
Code of Conduct
- I agree to follow this project's Code of Conduct
Answers (3)
I whittled the json down a quite a bit, and noticed there is some possibly invalid JSON being generated as output?
"components":[
{
"name":"Row",
"droppable":".cell",
"resizable":{
"tl":0,
"tc":0,
"tr":0,
"cl":0,
"cr":0,
"bl":0,
"br":0,
"minDim":1
},
"classes":[
"row"
],
"attributes":{
"id":"ik4zj"
}
},
{
"type":"text",
"content":"<p style=\\""text-align":"center;\\""><em>With special appreciation for our <a href=\\""https":" target=\\""_blank\\"">Major Sponsors</a>:</em></p>\\n",
"attributes":{
"id":"in5ko"
}
}
]
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.
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/grapesjs/assets/11614725/0e76b02e-097b-463f-a921-33250850e3f2">
I wouldn't even expect it to load but the editor is making some slight enforcements on the root component but type and tagName are extendable so can not be enforced.
Can't really help here, I can only suggest updating the JSON manually or via script. This doesn't seem to be a behavior of any previous version, so might also be related to some custom code.
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.
Related Questions and Answers
Continue research with similar issue discussions.
Issue #4323
BUG: Performance issue while dragging component to canvas when you have 2k component on canvas
GrapesJS version[X] I confirm to use the latest version of GrapesJSWhat browser are you using? Google Chrome Version 101.0.4951.41 (Officia...
Issue #4449
BUG: Lists not working with default RTE
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome Version 102.0.5005.115 (Official Bu...
Issue #4752
BUG: Component with pointer-events: 'all' (except wrapper) or editable component are draggable & droppable to itself.
GrapesJS version[X] I confirm to use the latest version of GrapesJSWhat browser are you using? Chrome 107.0.5304.121 (Official Build) (arm6...
Issue #5718
BUG: Possible upgrade path issue where 'textnode' is now called 'wrapper' from 0.18 -> latest
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome Version 122.0.6261.95 (Official Bui...
Paid Plugins That Match This Issue
Curated by issue keywords and label relevance to help you ship faster.
Loading paid plugin recommendations...
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.