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

问题 #6250💬 已回答提出于 2024年10月23日作者 maxming23330 个反应

克隆页面提示“将循环结构转换为 JSON”

快速解答作者 maxming2333

除了上述方法,还有其他复制页面的方法吗?

阅读下方完整回答 ↓

问题

GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? Chrome 129.0.6668.101可复制演示链接 https://grapesjs.com/演示描述一下那个虫子 如何复现这个漏洞? 开放 https://grapesjs.com/演示 在 DevTools 中运行这个脚本: 预期的行为是什么? 成功无错误地复制 目前的行为是什么? 成功复制但有错误: <img width=“472” alt=“image” src=“https://github.com/user-attachments/assets/14309772-7e8e-4ce2-ba14-7aefbed8614f”> ------------------ 深度克隆可以用lodash:https://lodash.com/docs/4.17.15#cloneDeep 请不要使用 JSON.parse(JSON.stringify(t)) -------------- 此外,我的页面实际上包含了很多元素,而且不仅仅是像演示那样的几个简单页面。 我发现复制时页面卡住得很严重。成功 page?.getMainComponent()?.clone()后,页面直接卡住了。 行为准则[X] 我同意遵守本项目的行为准则

回答(2)

maxming2333• 2024年10月23日

除了上述方法,还有其他复制页面的方法吗?

GJS Helper• 2026年5月17日

你在克隆GrapesJS页面的主组件并将其添加到新页面时遇到的TypeError: Converting circular structure to JSON,是与组件序列化存储相关的常见问题GrapesJS。这是因为实时GrapesJS Component模型,尤其是在渲染后带有关联的DOM元素(el)后,包含复杂的内部引用,形成循环依赖。当GrapesJS尝试序列化此类组件(例如将其添加到新页面以实现持久化)时,JSON.stringify因这些循环结构而失败。 根本原因 GrapesJS组件为多种目的维护内部引用,包括: DOM 元素(el属性): 组件模型通常包含对应的 HTML D...

相关问答

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

问题 #3316

The editor does not remove the dead script blocks

版本: 0.16.34 你能重现演示中的bug吗? [ ] 是的 [x ] 不 据我了解,导入代码对话框跳过了所有HTML脚本,所以我无法在演示中重现这个问题 预期的行为是什么? 编辑者必须先移除失效脚本块,才能在生成的HTML末尾添加新的脚本块 详细描述那个漏洞* 我在项目中...

4 个回答更新于 2024年1月10日

问题 #5175

移动方法没有按预期工作

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://codesandbox.io/s/adoring-margulis-873kdv 描述一下那个虫子 背景 移动组件的方法没有按预期工作。 这段代码没有...

4 个回答更新于 2023年6月25日

问题 #5503

ReplaceWith 方法没有字符串类型

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 没有 描述一下那个虫子 Component.ts 的 replaceWith 方法没有字符串类型。 预期的行为是什么? 我应该能像示例中那样用字符串替换组件 comp...

3 个回答更新于 2023年11月8日

问题 #3463

Inspector overflow broken

警告 请阅读并遵循接下来的三步,然后在发布问题前删除它们遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md先快速搜索一下,看看有没有人没开同样的问题所有相关陈述/问题都必须填写/回答,否则问题可...

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

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

相关教程

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

全部教程 →

浏览插件分类

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