GrapesJS 问题

已收录 3,464 个 GitHub 问题 370 个已解决 · 90 个待解决 搜索、筛选并探索经过实战检验的答案。

找到 877 个问题

🔍 question
#66182025年10月1日作者 mohamedsalem4011 个回答
0 个反应

提升编辑器性能并修复内存泄漏

GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 修复如果不需要传递“collectionsSourceMap”的问题 确保所有听众在不需要时都被清洁 提升“Editor.loadProject”速度 行为准则 [x] 我同意遵守本项目的行为准则

ClaudeCode

谢谢你举报,@mohamedsalem401。 提升编辑器性能并修复内存泄漏的问题似乎是竞态条件或状态管理时序的问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快...

#66062025年9月12日作者 MisterKeyboard4 个回答
2 个反应

编辑器加载时间很长(有时超过1分钟)

GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Firefox 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 描述 编辑器加载时间非常慢。 在复杂的页面(例如包含众多元素和插件如旋转木马的首页),完全加载可能需要长达1分20秒。 但即使是只有少量元素的页面,加载速度仍然明显很慢(几秒钟)。 这种性能问题使编辑器在制作中使用变得困难。 繁衍步骤 打开 GrapesJS 编辑器,创建一个包含多个组件和插件(例如轮播)的页面。 等待编辑器加载。 也可以用只有几个块的简单页面进行测试。 预期结果 编辑器应在几秒钟内加载,无论页面复杂度如何。 实际结...

artf

感谢@MisterKeyboard提供JSON。 你的项目包含了10K风格的规则,数量不少,但我不认为负载会受到太大影响。 @mohamedsalem401我认为我们需要确认数据源相关的更改(例如“StyleableModel.set”)是否对数据🤔源影响过大

mohamedsalem401

@artf会看看并更新情况。

artf

@MisterKeyboard你能分享项目的JSON吗?这样我们可以验证

#66032025年9月4日作者 nanto2 个回答
1 个反应

属性值中不逃避 & 符号

GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v142.0.7392.0 (canary) 可复制演示链接 https://jsfiddle.net/xce183nm/1/ 描述一下那个虫子 如何复现这个漏洞? 创建一个编辑器实例,加载包含字符引用的 HTML 代码。 “''js const editor = Grapesjs.init({ 组件: '<body>&lt;p title=“&lt; &amp; &gt;”&gt;</p></body>', }); 预期的行为是什么? 属性值中的符号通过字符引用转义。“p”元素的“title”属性值被解析为“< &amp; >...

artf

谢谢你提供的所有信息和细节,这很有帮助。也谢谢你的宣传。

ClaudeCode

谢谢你举报,@nanto。 关于&&在属性值上无法逃避的建议很棒!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”事件进行细致跟踪 构建一...

#65912025年8月20日作者 CES-TechAdmin2 个回答
0 个反应

在 Safari 中,自 v0.22.1 起,拖放方块功能不再正常工作

GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Mac 版 Safari 18.5 可复制演示链接 https://codepen.io/jmulik/pen/LEpdjZq 描述一下那个虫子 如何复现这个漏洞? 在Chrome中查看 https://codepen.io/jmulik/pen/LEpdjZq - 支持拖放方块。 在Safari中查看。- 无法放置和放下方块。 预期的行为是什么? 变装和变装在Safari里应该能行。就像Chrome一样。 目前的行为是什么? 在Safari中,方块的拖放功能不起作用。 观察 Safari 中的拖拽功能在 GrapesJS v0.21.13...

them7d

是的,它不能用,因为代码和Safari浏览器不完全兼容 要解决这个问题,你需要在NextJS中使用葡萄,比如这个页面 https://grapesjs.com/demo.html

ClaudeCode

感谢你举报,@CES-TechAdmin。 关于在Safari中,自v0.22.1起拖放方块功能不工作的好建议!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利...

#65902025年8月18日作者 yashvi20262 个回答
1 个反应

能够访问/删除/拖动图层管理器中锁定的组件

GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 镀铬 可复制演示链接 https://codepen.io/Harshsne/pen/zxvREjB 描述一下那个虫子 如何复现这个漏洞? 拖拽文本组件 预期的行为是什么? 在图层管理器中不应该选择/拖拽它 目前的行为是什么? 在layermanager中选择/拖拽 甚至尝试过, 'const 图层 = 编辑器。层次; layers.setLocked(comp, true); console.log(layers.isLocked(comp));' 请提供一个解决办法,直到你尽快解决这个问题。@artf 行为准则 [x] 我同意遵守本项目的...

artf

你可以用“可分层:false”属性隐藏组件,或者创建自己的[自定义图层管理器界面](https://grapesjs.com/docs/modules/Layers.html#customization),包含所有需要的UI逻辑。

ClaudeCode

谢谢你举报,@yashvi2026。 关于能够访问/删除/拖动图层管理器中锁定组件的好问题。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something change...

#65892025年8月16日作者 mohammedmoulla1 个回答
0 个反应

更改根节点后,无法在 layerManager 中拖放元素

GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Google Chrome v139.0.7258.128 可复制演示链接 https://codesandbox.io/p/sandbox/relaxed-payne-vt3pgc 描述一下那个虫子 如何复现这个漏洞? 在画布上添加一些元素 尝试在图层管理器中查找元素并拖动或移动它们 预期的行为是什么? 在0.20.2版本中运行得很完美 目前的行为是什么? 不能更改图层管理器树的根节点 ==> 只能更改主体 我尝试了所有方法,但都没用 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: 不,直接打开链接 行为准则 [x] 我同意遵守本项目...

ClaudeCode

谢谢你举报,@mohammedmoulla。 关于更改root后无法在layerManager中拖放元素的好问题。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log...

#65872025年8月13日作者 Sebbones1 个回答
0 个反应

在符号中添加文本会反复替换文本节点

GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Firefox 开发者 142.0b9,Chrome 138.0.7204.184 可复制演示链接 https://jsfiddle.net/artur_arseniev/ta19s6go/ 描述一下那个虫子 如何复现这个漏洞? 将“文章”部分设为符号 在原始“文章”组件中添加文本组件 直接尝试编辑文本或将光标设在文本内部 预期的行为是什么? 光标并不总是重置到位置0,文本组件也没有闪烁,表现得像普通文本组件。 目前的行为是什么? 光标重置到位置0,几乎无法选择文本 执行恒定编辑器“component:add”事件 在“离开”文本组件并重新选...

ClaudeCode

谢谢你举报,@Sebbones。 关于在符号中添加文本会反复替换文本节点的好问题。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed'));...

#65832025年8月5日作者 msftedad2 个回答
1 个反应

Windows中的“grapesjs”标志没有定义替代值。

GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Edge 版本 135.0.2535.51(官方构建)(64 位),Chrome 版本 135.0.6422.112(官方构建)(64 位) 可复制演示链接 https://grapesjs.com/demo 描述一下那个虫子 测试环境: 操作系统:Windows 11[版本24H2(操作系统构建版24631.3593)] Edge:版本 135.0.2535.51(官方版本)(64 位) Chrome:版本 135.0.6422.112(官方构建)(64位) 屏幕阅读器:NVDA(2024.4.2) 测试网址:https://grapesj...

artf

嘿,@msftedad网站仓库在[这里](https://github.com/GrapesJS/website),欢迎提交修复后的永久注册([file](https://github.com/GrapesJS/website/blob/main/src/app/(demos)/GrapesEditor.tsx))。我决定关闭这个问题,因为它和核心无关。

ClaudeCode

谢谢你举报,@msftedad。 Alt 值的问题在 Windows 中没有为“grapesjs”标志定义。 似乎是竞赛条件或状态管理时序的问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSand...

#65822025年8月5日作者 msftedad2 个回答
0 个反应

不提供单指针操作模式用于编辑元素拖拽操作。

GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Edge:版本 135.0.2535.51(官方构建)(64 位),Chrome 版本:版本 135.0.6422.112(官方构建)(64 位) 可复制演示链接 https://app.grapesjs.com/studio?utmsource=grapesjs&utmmedium=mainTopNav 描述一下那个虫子 测试环境: 操作系统:Windows 11[版本24H2(操作系统构建版24631.3593)] Edge:版本 135.0.2535.51(官方版本)(64 位) Chrome:版本 135.0.6422.112(官方构...

msftedad

大家好,这个问题有最新进展吗?

ClaudeCode

谢谢你举报,@msftedad。 单指针模式操作未提供用于编辑元素拖拽操作的问题。似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识...

#65702025年7月20日作者 nanto1 个回答
0 个反应

Parser ignores 'parser.optionsHtml.keepEmptyTextNodes' 选项

GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrom v140.0.7307.0 (金丝雀) 可复制演示链接 https://jsfiddle.net/y3gr69s4/ 描述一下那个虫子 如何复现这个漏洞? 创建编辑器实例,使用 'parser.optionsHtml.keepEmptyTextNodes' 选项集 'true'。 “''js const editor = Grapesjs.init({ 解析器:{ optionsHtml: { keepEmptyTextNodes: true, }, }, }); 获取HTML代码。 “''js const result = ed...

ClaudeCode

谢谢你举报,@nanto。 关于解析器忽略“parser.optionsHtml.keepEmptyTextNodes”选项的好问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', (...

浏览所有主题