问题 #628💬 已回答提出于 2017年12月11日作者 AH1N13 个反应

从最终HTML中排除组件

快速解答作者 ryandeba1

你好@AH1N1, 你说的“最终 html”是指从 'editor.getHtml()' 返回的值吗?你说的是自定义组件吗?如果这两个问题的答案都是肯定的,那么你应该可以覆盖自定义组件的“toHTML”方法,使其不返回任何内容。实现这一点的代码大致如下: 如果你有其他想法,告诉我一些细节,我可以尽力进一步协助。 顺便问一下——@artf你怎么看让'editor.getHtml()'和'component.toHTML()'之间“HTML/Html”大写一致?我没有偏好用哪种风格,但我觉得改成“editor.getHtml() / component.toHtml()”或“editor.getHTML() / component.t...

阅读下方完整回答 ↓

问题

有没有现成的解决方案可以排除部分组件进入最终HTML?或者有没有其他机制让组件只存在于视野中?

回答(3)

ryandeba2017年12月12日

你好@AH1N1, 你说的“最终 html”是指从 'editor.getHtml()' 返回的值吗?你说的是自定义组件吗?如果这两个问题的答案都是肯定的,那么你应该可以覆盖自定义组件的“toHTML”方法,使其不返回任何内容。实现这一点的代码大致如下: 如果你有其他想法,告诉我一些细节,我可以尽力进一步协助。 顺便问一下——@artf你怎么看让'editor.getHtml()'和'component.toHTML()'之间“HTML/Html”大写一致?我没有偏好用哪种风格,但我觉得改成“editor.getHtml() / component.toHtml()”或“editor.get...

ryandeba2017年12月12日

@AH1N1 这里有一个可用的代码示例:https://jsfiddle.net/tt32z2uz/2/。打开浏览器控制台,你应该会看到这段被登出的状态:“<div>这里有一些正常内容</div><div>......更正常的内容</div>“。

这能给你调试代码所需的信息吗?如果没有,你能提供一个你的实现实时代码示例吗?

我能想到的一些可能原因,说明为什么这方法对你不起作用:

  • “isComponent”方法无法正确识别你的自定义组件
  • 编辑器实例在你的自定义组件类型注册之前已经解析了组件(比如用“fromElement: true”)
artf2017年12月21日

你好@afotey

如果我想只返回通过组件设置面板输入的 div ID,怎么办?

组件设置中分配的ID直接放在“属性”里,所以你可以用它 “''js const comp = editor.getSelected(); const id = comp.getAttributes()['id'];


> 有没有办法让导出时只包含这些ID,而不是任何配套的HTML/CSS?

当你的组件有某种风格时,你会获得其他ID。如果你用类,应该看不到这些

相关问答

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

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

相关教程

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

全部教程 →

浏览插件分类

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