Issue #3413πŸ’¬ AnsweredOpened Apr 26, 2021by theSC0RP0 reactions

Adding inline scripts and updating old events

Quick answerby theSC0RP

I tried to update the inline script using the following steps:Get the document of the iframe: iframeDoc = editor.Canvas.getDocument()Get the innerHTML of the body of the document: iframeDocBodyHtml = iframeDoc.body.innerHTMLReplace the innerHTML of the body: iframeDoc.body.innerHTML = iframeDocBodyHtmlReattach the inl...

Read full answer below ↓

Question

In that case, I suggest you access the document of the iframe and to append manually the inline script (to get the document use editor.Canvas.getDocument()) Originally posted by @artf in https://github.com/artf/grapesjs/issues/2012#issuecomment-496304498 Hey, @artf, I was going through the issue, #2012 and I have a doubt. If a change is made to the script e.g. change in alert msg on click. Then multiple events are added. How to remove the old events and add new ones (without saving and reloading). One way is to refresh the iframe but that leads to the loss of all the events (even the predefin...

Answers (4)

theSC0RPβ€’ Apr 27, 2021

I tried to update the inline script using the following steps:Get the document of the iframe: iframeDoc = editor.Canvas.getDocument()Get the innerHTML of the body of the document: iframeDocBodyHtml = iframeDoc.body.innerHTMLReplace the innerHTML of the body: iframeDoc.body.innerHTML = iframeDocBody...

theSC0RPβ€’ Apr 28, 2021

I tried to add the select and hover events by running component-select command by writing editor.trigger('core:component-select') but that didn't help either and doing editor.runCommand('core:component-select') gives an error. Am I missing something?

artfβ€’ May 4, 2021

Well, I think it won't be bad to add an easy way to force the rerender of the iframe (not a common case but for sure might be useful in some cases). Unfortunately, right now, you should try to use private methods and check if everything works as expected, then if you confirm, I'll be happy to add a...

GJSBlockβ€’ May 17, 2026

Thanks for reporting this, @theSC0RP. Great question about Adding inline scripts and updating old events. The recommended approach with Canvas is to use the event-driven API. Start here: Check the GrapesJS documentation for your specific module Look for the on() event listener method Most operation...

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.