Parser ignores 'parser.optionsHtml.keepEmptyTextNodes' 选项
你准确地发现了GrapesJS中keepEmptyTextNodes选项处理方式的差异,导致HTML输出中被剔除换行。这确实是与解析器配置及其TypeScript定义相关的bug。 根本原因 GrapesJS HTML 解析器(特别是 ParserHtml 模块)设计为直接从顶层 parser 配置对象读取 keepEmptyTextNodes 选项,而非从 parser.optionsHtml中读取。 当你初始化GrapesJS时,你提供的parser对象作为配置传递给内部ParserHtml实例。ParserHtml模块随后检查this.config.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 = editor.getHtml(); 目前的行为是什么? 元素之间的换行从生成的HTML代码中被剔除。 '''html <body><p>福巴</p><p>尔</p></body> 行为准则 [x] 我同意遵守本项目的行为准则
回答(1)
你准确地发现了GrapesJS中keepEmptyTextNodes选项处理方式的差异,导致HTML输出中被剔除换行。这确实是与解析器配置及其TypeScript定义相关的bug。 根本原因 GrapesJS HTML 解析器(特别是 ParserHtml 模块)设计为直接从顶层 parser 配置对象读取 keepEmptyTextNodes 选项,而非从 parser.optionsHtml中读取。 当你初始化GrapesJS时,你提供的parser对象作为配置传递给内部ParserHtml实例。ParserHtml模块随后检查this.config.keepEmptyTextNodes...
相关问答
通过相似的问题讨论继续研究。
问题 #4601
在切换某些目标时,添加到样式管理器的自定义类型 update() 不再被触发。
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 铬104 可复制演示链接 https://jsfiddle.net/aw8p0h9j/ 描述一下那个虫子 如何复现这个漏洞?打开 jsfiddle 链接。点击两个div之间,然后在任一d...
问题 #4191
我们正在尝试在 Angular 10 应用中存储 grapesJS 编辑器中的数据,但出现了 CORS 错误,附上了下面的图片
GrapesJS 版本 [x] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome 99.0.4844.5 可复制演示链接 https://jsfiddle.net/ct5r4kvg/ 描述一下那个虫子 如何复现这个漏洞?集成到 Angular 10 应用...
问题 #5049
Problem when dragging component composed by image and link
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 勇敢的最后版本 可复制演示链接 https://jsfiddle.net/rp7oc96v/1/ 描述一下那个虫子 嗨,亚瑟! 我正在创建一个新组件,一个链接中的图片,就像 mj-ima...
问题 #3176
'setStyle' 和 'setComponents' 选项参数未被考虑
版本: 0.16.30 你能重现演示中的bug吗? [x] 是的 [ ] 不 繁殖步骤:打开控制台执行 'editor.setComponents('', {avoidStore: true});'执行 'editor.setStyle('', {avoidStore: tru...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
Introducing Search on GJS.Market
GJS.Market now has one search across everything we publish — plugins, articles, community questions, guides, authors and services. Press ⌘K from any page.
教程
GrapesJS的Claude技能:AI如何改变我们构建可视化编辑器的方式
我们发布了 GrapesJS 开发的 Claude 技能——一项免费开源技能,能让 Claude 成为真正懂 GrapesJS 的开发者
教程
Lighthouse for GrapesJS:无需离开编辑器即可访问审计和SEO。
Live WCAG 2.1/2.2 无障碍审计员 + GrapesJS 的 SEO 经理。每个发现都绑定在具体组件上——点击选择,然后一键修复。
浏览插件分类
直接跳转到市场上的插件分类页面。