Issue #6116Opened September 3, 2024by SamMousa4 reactions

BUG: asDocument not working as expected

Question

GrapesJS version

  • I confirm to use the latest version of GrapesJS

What browser are you using?

Chrome 128

Reproducible demo link

https://jsfiddle.net/sammousa/bxgsdc12/11/

Describe the bug

How to reproduce the bug?

  1. Load an HTML string with a non empty <head>, using the option {asDocument: true}.
  2. Export the data via editor.getProjectData(), see that it contains the <head> content
  3. Load the exported data from 2 via editor.loadProjectData()
  4. Export the data via editor.getProjectData(), see that it does NOT the <head> content

What is the expected behavior? I'd expect that this should always hold, maybe with the exception for some details like autogenerated ids.

const html1 = editor.getHtml();
const html2 = editor.loadProjectData(editor.getProjectData());
html1 === html2

What is the current behavior? The head content is not loaded when using loadProjectData().

Code of Conduct

  • I agree to follow this project's Code of Conduct

Answers (3)

SamMousaSeptember 4, 20242 reactions

Thank you, but that's not really the point. I'm fully able to make a workaround, but that does not fix the bug.

The bug is that an export via getProjectData() followed by an import via loadProjectData() should result in the same state.

Furthermore the hack you propose actually writes directly to the canvas meaning that there's no guarantee it will remain untouched. (For example there's a styles configuration in the editor that will inject styles to the canvas' head)

artfSeptember 4, 20241 reactions

The bug is that an export via getProjectData() followed by an import via loadProjectData() should result in the same state.

Yeah definitely not expected, we'll look into it.

Appreciate the easily reproducible steps on the demo 👍

artfSeptember 4, 20241 reactions

Thanks @SamMousa detailed bug reports are always welcome. If a direction is requested, we're happy to guide you 🙇‍♂️

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...

Browse Plugin Categories

Jump directly to plugin category pages on the marketplace.