PageKit — 可自托管的 GrapesJS 建站工具,附完整源码。 获取抢先体验

问题 #6494💬 已回答提出于 2025年4月15日作者 yashvi20260 个反应

反复创建和摧毁会判错

快速解答作者 GJS Helper

你遇到的 GrapesJS问题,即反复快速创建和销毁编辑器导致 undefined 'allcomponents' 和 undefined 'lastcomponent'等错误,是异步操作或快速生命周期变更中竞赛条件和状态不一致的经典例子。这通常发生在新编辑器实例初始化时,而前一个实例仍在被销毁过程中,或者内部GrapesJS事件监听器或计划任务试图对部分或完全销毁的编辑器实例进行操作。 根本原因分析 editor.select(wrapper)与undefined 'allcomponents': 当调用editor.select(wrapper)时,GrapesJS尝试选择主包装组件。此操作依赖编辑器内部DomComponen...

阅读下方完整回答 ↓

问题

GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://codepen.io/Harshsne/pen/QwwLjBQ 描述一下那个虫子 如何复现这个漏洞? 点击创建,然后快速且反复地摧毁。 调试时,我发现错误由以下代码引起: 未定义的“allcomponents”错误由:(editor.select 代码)引起。 未定义的“最后组件”错误: 将样式添加到组件会触发 stylable:change 事件,如果你的侧面函数仍在运行并且在此期间点击 Destroy,会报错。 ![图片](https://github.com/user-attachments/assets/59cbde1c-23f9-45d6-b8a3-6b2b7aebbfe8) 我试图自己处理,但解决办法没用。 有什么建议吗? 行为准则 [x] 我同意遵守本项目的行为准则

回答(1)

GJS Helper2026年5月17日

你遇到的 GrapesJS问题,即反复快速创建和销毁编辑器导致 undefined 'allcomponents' 和 undefined 'lastcomponent'等错误,是异步操作或快速生命周期变更中竞赛条件和状态不一致的经典例子。这通常发生在新编辑器实例初始化时,而前一个实例仍在被销毁过程中,或者内部GrapesJS事件监听器或计划任务试图对部分或完全销毁的编辑器实例进行操作。 根本原因分析 editor.select(wrapper)与undefined 'allcomponents': 当调用editor.select(wrapper)时,GrapesJS尝试选择主包装组件。此...

相关问答

通过相似的问题讨论继续研究。

问题 #4191

我们正在尝试在 Angular 10 应用中存储 grapesJS 编辑器中的数据,但出现了 CORS 错误,附上了下面的图片

GrapesJS 版本 [x] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome 99.0.4844.5 可复制演示链接 https://jsfiddle.net/ct5r4kvg/ 描述一下那个虫子 如何复现这个漏洞?集成到 Angular 10 应用...

4 个回答更新于 2022年3月14日

问题 #4851

This.on('change:attributes:type', this.handleTypeChange)不支持数组类型

GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? Chrome 108.0.5359.125可复制演示链接 https://codesandbox.io/s/frosty-darkness-7po7xl描述一下那个虫子 如何复现这个漏洞?使...

3 个回答更新于 2023年1月18日

问题 #3455

使用页面管理器在多页面插入组件时,样式会被清除

版本: 0.17.3 预期的行为是什么? 风格应在多页中保持一致 详细描述那个漏洞 我们有个用例是保存并重新加载 GrapesJS 的内容。我们希望利用页面管理器来减少渲染内容,并以更小的部分进行管理。 当我们尝试在多个页面加载内容时,问题就会出现。CSS 会被完全清除,因为之...

3 个回答更新于 2021年5月19日

问题 #5232

工作者 - 无头“文档未定义”

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 114.0.5735.133 可复制演示链接 不可能添加工蚁来繁殖。 描述一下那个虫子 如何复现这个漏洞?添加一名网页工作人员。在工作者内部设置“无头”选项初始化 GrapesJS 。添...

4 个回答更新于 2023年7月11日

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

相关教程

关于同一主题的深入指南。

全部教程 →

浏览插件分类

直接跳转到市场上的插件分类页面。