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

问题 #5584💬 已回答提出于 2023年12月27日作者 vian0130 个反应

当所有组件都挂载到画布中时,“存储:结束:加载”事件不会触发

快速解答作者 artf

@vian013请只用可复现的演示链接打开bug问题,快速检查一下活动似乎正常运行

阅读下方完整回答 ↓

问题

GrapesJS 版本

  • 我确认使用最新版本 GrapesJS

你用的是什么浏览器?

Chrome v91

可复制演示链接

https://grapesjs.com/demo.html

描述一下那个虫子

如何复现这个漏洞? 最近我必须将 grapesjs 0.14.62版本升级到最新版本(0.21.8)。在旧代码中,我们用“storage:end:load”来做一些操作,前提是所有组件都挂载到画布上。

但在当前版本中,它的工作方式已经不一样了。正如我在文档中看到的,“storage:end:load”现在会在存储加载请求完成后立即触发。有没有什么方法或其他事件能达到和之前相同的效果?

目前我只能在“storage:end:load”里面用setTimeout,这在很多情况下看起来很不确定且不可靠。

预期的行为是什么? “存储:结束:加载”是在所有组件都安装到画布后触发的。

目前的行为是什么? “storage:end:load”会在存储加载请求完成后立即触发。

行为准则

  • 我同意遵守本项目的行为准则

回答(2)

artf• 2024年1月9日

@vian013请只用可复现的演示链接打开bug问题,快速检查一下活动似乎正常运行

GJS Helper• 2026年5月17日

从版本0.14.62到0.21.8,GrapesJS中storage:end:load事件行为的变化是有意为之,反映了更细致的事件系统。在新版本中,storage:end:load会在数据成功从存储管理器中检索时触发。这发生在组件解析、添加到编辑器模型树并随后渲染到画布之前,DOM.To 实现所有组件挂载到画布后才执行代码的预期行为,你应使用editor.on('load', ...)事件。### 根本原因与解释 storage:end:load事件的目的是表示存储加载过程已完成。这意味着原始数据(HTML、CSS、JSON)已被取用。之后,GrapesJS仍需:1。将这些数据解析为其内部组...

相关问答

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

问题 #5378

未捕获类型错误:在图层管理器面板拖动组件时无法读取未定义属性(读取“Canvas”)。

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome v116.0.5845.97 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?从画布中选择任意组件打开图层...

4 个回答更新于 2023年9月16日

问题 #4837

HTML元素的ID会在projectData加载的不同页面上递增

GrapesJS版本 [X] 我确认使用最新版本GrapesJS 你用的是什么浏览器? Firefox 109 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 你好, 我注意到当我在 projectData 中加载多个 HTML...

4 个回答更新于 2025年1月27日

问题 #4848

内联编辑后,组件内容被设置为空字符串

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Firefox v91.4.1 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?进入 grapesjs 基础演示:htt...

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

问题 #3579

在放置“activeOnRender”组件后立即打开RTE时丢失了

版本: 0.17.4 你能重现演示中的bug吗?[x] 是的[ ] 不 繁殖步骤:前往[演示](https://grapesjs.com/demo.html)在画布内放置一个“文本”方块点击刚刚丢弃的“文本”组件打开的RTE丢失了位置(参见[附图](https://user-i...

4 个回答更新于 2022年1月17日

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

相关教程

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

全部教程 →

浏览插件分类

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