In Safari, drag and drop of blocks does not work since v0.22.1
yes, it doesn't work because the code is not fully compatible with safari browser to fix this problem you need to use grapes in nextjs like this page https://grapesjs.com/demo.html
Read full answer below βQuestion
GrapesJS version
- I confirm to use the latest version of GrapesJS
What browser are you using?
Safari 18.5 on Mac
Reproducible demo link
https://codepen.io/jmulik/pen/LEpdjZq
Describe the bug
How to reproduce the bug?
- View https://codepen.io/jmulik/pen/LEpdjZq in Chrome - Able to drag and drop blocks.
- View same in Safari. - Unable to drop and drop blocks.
What is the expected behavior? Drag and Drag should work in Safari. Just like in Chrome.
What is the current behavior? Drag and Drop of blocks does not work in Safari.
Observations Drag and Drag in Safari works in GrapeJS v0.21.13. Broken in v0.22.1 and later.
The cause of the issue seems to be the inability of the grapejs session to create the gjsProject key in browser local storage.
Code of Conduct
- I agree to follow this project's Code of Conduct
Answers (2)
yes, it doesn't work because the code is not fully compatible with safari browser to fix this problem you need to use grapes in nextjs like this page https://grapesjs.com/demo.html
Thanks for reporting this, @CES-TechAdmin.
Great suggestion about In Safari, drag and drop of blocks does not work since v0.22.1! While this specific feature isn't yet in the core API, there are several ways to achieve similar behavior.
Using the event system:
editor.on('component:update', (component) => {
// your logic here
});
Alternative approaches:
- Listen to
selector:addfor CSS selector changes - Use
selector:customfor custom rules - Tap into the
change:*events for fine-grained tracking - Build a plugin that extends the editor with this capability
Making it official: If this feature would benefit many users, consider opening a formal Feature Request on the GrapesJS repo with:
- A detailed use case
- Code example showing the desired behavior
- Why this matters for your workflow
The core team is receptive to well-motivated feature requests backed by real use cases.
Related Questions and Answers
Continue research with similar issue discussions.
Issue #4000
Pasting a component in root body layer throws TypeError
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v89 Reproducible demo link https://...
Issue #6707
Cannot read properties of null (reading 'hasFocus') in Canvas module
GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome (versions 142-144), Safari (version...
Issue #4607
JS error when moving an element with its child
GrapesJS version[x] I confirm to use the latest version of GrapesJSWhat browser are you using? Chrome v104Reproducible demo link https://gr...
Issue #3770
[Feature]: Improve and fix absolute dragMode
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v93 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
GrapesJS Inline RTE Plugins Update: CKEditor 5 v0.1.4 and Froala Inline Text Editor
CKEditor 5 Inline for GrapesJS v0.1.4 fixes Studio SDK toolbar clipping, iframe injection and link balloon bugs. Compare with Froala Inline β both $69.
Tutorial
Embed GrapesJS in Your SaaS: A Weekend Guide
Embed GrapesJS in your SaaS and ship a white-label page builder over a weekend. Honest tradeoffs, real code, and the plugins that close the UX gap.
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.