问题 #3441💬 已回答提出于 2021年5月7日作者 emilsedgh1 个反应

解析器在16.30以“mj风格”破坏

快速解答作者 emilsedgh1

嗨,阿图尔。感谢你对葡萄的出色处理。这真的很棒。 临时方案运作得很好。如果需要,可以随时关闭,但如果能提供一种操控行为的方式,那肯定会很不错。

阅读下方完整回答 ↓

问题

版本: 从16.30到现在所有Grapesjs版本都有这个问题。 你能重现演示中的bug吗?[x] 是的[ ] 不 预期的行为是什么? 以下是有效的MJML代码。在 grapesjs-mjml 上应该能正常工作。 详细描述那个漏洞 目前,如果你用 grapesjs-mjml 配合上面的代码,它会以两种方式出现故障:它会这样渲染样式:导出代码时,MJML 代码导出如下: 在这两种情况下,你都可以看到样式是用HTML编码的。 目前的行为是什么?* “mj-style”不是textNode,其内容也不能被htmlEncoded。 详细描述那个漏洞 我之所以把这条信息提交到这个仓库而不是 grapesjs-mjml,是因为:这次回归是提交 8e7f94abb0c4500cebde5a4984eca4215772cb0b 的结果。 截至本次提交,grapesjs错误地认为所有textNode都是textNode。但情况并不总是如此(比如 MJ 风格)。 你能附上截图、截屏或实时演示吗?* ![3](https://user-images.githubusercontent.com/120439/117426929-5315b580-aed9-11eb-93a3-ca61de00ceb2.gif)

回答(4)

emilsedgh2021年8月3日

嗨,阿图尔。感谢你对葡萄的出色处理。这真的很棒。

临时方案运作得很好。如果需要,可以随时关闭,但如果能提供一种操控行为的方式,那肯定会很不错。

artf2021年8月3日

你好@emilsedgh抱歉我回复得晚了,但无论如何,我们可以考虑在这种情况下跳过逃脱,但最快的办法可能是直接将 mj 风格的方法扩展到 HTML “''js 编辑。Components.addType('mj-style', { 型号:{ toHTML() { const content = this.components().map(c => c.get('content')).join(''); 返回 '<mj-style>${content}</mj-style>''; } // ... } })

artf2021年8月3日

谢谢你,Emil,暂时我先结束这个,以防以后出现类似问题,我们会考虑加一个新的道具来跳过逃脱。

ClaudeCode2026年5月17日

谢谢你举报,@emilsedgh。 截至16:30,解析器“mj风格”断裂的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤:** 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报告中包含 GrapesJS 版本、浏览器和控制台错误

相关问答

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

问题 #5263

如果删除组件但不删除其对应样式,之后添加新组件会导致样式冲突吗?

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 最新版本的Chrome浏览器 可复制演示链接 无效 描述一下那个虫子 如何复现这个漏洞? <img width=“1666” alt=“image” src=“https://github.com...

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

问题 #5049

拖拽由图片和链接组成的组件时出现的问题

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 勇敢的最后版本 可复制演示链接 https://jsfiddle.net/rp7oc96v/1/ 描述一下那个虫子 嗨,亚瑟! 我正在创建一个新组件,一个链接中的图片,就像“mj-image”组件...

4 个回答更新于 2023年4月18日

问题 #4529

当我们用类“xyz”调整图片大小时,页面上同一类的所有元素也会被调整大小,因为编辑器会给这些类添加css。

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 版本 104.0.5112.101(官方构建)(arm64)视频演示链接 https://d.pr/i/27EgH2描述一下那个虫子当我们调整带有“xyz”类的图片大小时,页面上所有同类元素也会被调整...

4 个回答更新于 2022年8月25日

问题 #3131

将纯文本粘贴到文本组件中,会为粘贴的文本添加 <font /> 封装器

版本: 0.16.27 你能重现演示中的bug吗? [] 是的 [X] 不 预期的行为是什么? 将粘贴文本为纯文本(文本节点),不像Grapes JS在</>元素中进行打包。 目前的行为是什么? 当我把纯文本粘贴到空文本元素时,编辑器会用<font />元素包裹它。 在粘贴文本...

4 个回答更新于 2021年5月2日

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

相关教程

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

全部教程 →

浏览插件分类

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