Editor.getSelected().toHTML() encodes inline javascript
You have to use allowScripts And I see no issues with encoding (use the real inspector, not the jsfiddle beta console, which probably has a bug).
Read full answer below βQuestion
GrapesJS version[X] I confirm to use the latest version of GrapesJSWhat browser are you using? latest (chrome)Reproducible demo link https://jsfiddle.net/4j1k0wde/24/Describe the bug How to reproduce the bug?create block with a script tag inside.use editor.getSelected.toHTML() to grab the block's markup (so user can edit that block's markup in a popup dialog) What is the expected behavior? ... I get the block's HTML, including the script tag and it's contents What is the current behavior? ... Either no script tag or the special characters are encoded. Further info here: https://github.com/art...
Answers (3)
You have to use allowScripts
const editor = grapesjs.init({
...
allowScripts: true,
});
And I see no issues with encoding (use the real inspector, not the jsfiddle beta console, which probably has a bug).
Thank you!
Thanks for reporting this, @stljeff1. Great question about editor.getSelected().toHTML() encodes inline javascript. The recommended approach with Components is to use the event-driven API. Start here: Check the GrapesJS documentation for your specific module Look for the on() event listener method...
Related Questions and Answers
Continue research with similar issue discussions.
Issue #5724
Whitespace handling in inline elements
GrapesJS version[X] I confirm to use the latest version of GrapesJSWhat browser are you using? Chrome v122Reproducible demo link https://js...
Issue #3873
Duplicated video block when re-attaching GrapesJs editor to document
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v94 Reproducible demo link https://...
Issue #6603
Ampersand is not escaped in attribute value
GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v142.0.7392.0 (canary) Reproducible...
Issue #6409
Cannot drag to move components on mobile
GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v133 Reproducible demo link https:/...
Paid Plugins That Match This Issue
Curated by issue keywords and label relevance to help you ship faster.
Loading paid plugin recommendations...
Check the open-source GrapesJS plugins on GitHub or run a quick search in our free catalog.
Browse free plugins β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.
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
Big Updates: TinyMCE 8 and Placeholder 2.0 for GrapesJS
In May we shipped major updates to two of our most popular GrapesJS plugins β TinyMCE Inline Text Editor and Placeholder.
Tutorial
Find the Right GrapesJS Plugin in Seconds: Smarter Discovery Is Live
We're shipping a set of discovery upgrades. New label filters, a proper compatibility switch for GrapesJS vs Studio, one-click and a smarter sort bar.
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.