GrapesJS 问题

已收录 3,464 个 GitHub 问题 370 个已解决 · 90 个待解决 搜索、筛选并探索经过实战检验的答案。

找到 3,464 个问题

#6132017年12月6日作者 ShepelE2 个回答
0 个反应

我如何向PanelManager添加文本?

你好,artf!谢谢你的葡萄。请帮帮我。我需要一个标题显示在顶部,比如按钮或简单的文本元素。

artf

@ShepelE直接用JS “''js Grapesjs.init({ ... }); console.log(document.getElementById('gjs-pn-commands')); ... ```

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#6122017年12月6日作者 vishal50332 个回答
0 个反应

紧急:使用自定义资产管理器时重复其他块

你好, 我们用自定义的 Assset 管理器进行了修改。但我们现在遇到了问题。如果我们把一张图片放进Canvase,然后添加其他组件,它会复制那个组件。如果我们再加一张图片,那它就会三重组其他分量。 你能帮帮我们吗? 以下是我们用来打开自定义资产管理工具的代码片段。 编辑。Commands.add('open-assets', { run: 函数(编辑器、发送者、opts) { var classofelement = opts.target.attributes.property == “background-image” ?“包装器”:opts.target.cid; AjaxRequestStart(); $.Ajax({...

artf

如果你用自定义资产管理器时才出现重复组件,那你应该检查一下你是如何分配 src 的,我帮不了你更多

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#6112017年12月6日作者 absolution543212 个回答
0 个反应

强化:保存形态,必要时重复使用

#I 不知道这功能是否存在,是否可以创建表单,保存后再重复使用,而不把它粘贴到导入界面。 目前有一个导入界面,可以粘贴HTML代码,但这是一项不必要的任务 我们可以为用户提供拖放之前保存的表单并进行操作的选项 基本上就是我以为的用户将创建表单他会保存或导出导出后应该有个场景,他可以拖拽那个现有表单,编辑一下 有线索吗?

artf

你好@absolution54321这应该是你自己能实现的,建议利用[Blocks API](https://github.com/artf/grapesjs/wiki/API-Block-Manager) “''js 举个例子,选中元件时点击某个地方......“保存元素”,以及 const selected = editor.getSelected(); 编辑。BlockManager.add('new-block-uuid...', { label: '已保存${se...

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#6102017年12月6日作者 duskhacker3 个回答
8 个反应

插入/编辑链接很难

你只能把它们插入特定位置,而且让它们“内嵌”是不可能的。我说的“内联”是指;我正在写一行文字,我想在上面放一个链接,并用高亮的词语作为链接,然后继续写那行的话语。这是非常典型的操作,但 GrapesJS 就是不让我这么做。 一旦你真的被丢弃了,编辑就很难真正编辑它们。你必须掌握双击再点击的时机,才能进入编辑模式。我无法想象给用户那样的服务。 我打算放弃,完全禁用我的项目中的链接,因为我用的是邮件预设,目标文档是邮件,我打算依赖典型邮件客户端让链接可点击的功能。我希望这件事能在不久的将来解决。我理解这可能是个难题。

ryandeba

你好,@duskhacker, 我同意链接插入/编辑没有我想象的那么直观,目前正在通过插件进行定制。这是我正在做的事情的简要概述,如果你感兴趣告诉我,我可以提供代码(目前它埋藏在一个插件里,还有许多其他自定义功能,所以我需要做些工作来筛选出来):链接编辑通过自定义模态完成,而非组件设置通过RTE工具栏创建新链接(点击“链接”按钮),模态立即出现,允许你配置链接选项(href、标题、内容)你也可以双击已有的链接来打开模态。这在某种程度上妨碍了启用RTE,但我认为这是个公平的权...

artf

你好@lahdekorpi我觉得这种方式应该可行 “''js 结果:rte => { 使用自定义属性以便以后找到该组件 rte.insertHTML('<span data-selectme>${rte.selection()}</span>'); const sel = editor.getSelected();获取当前选择的文本组件 sel.once('rte:disable', () => { const toSel = sel.find('[data-selectm...

artf

@YevhenShashnin更新了示例,因为RTE的启用/禁用功能变得异步。

#6092017年12月6日作者 duskhacker3 个回答
0 个反应

CSS 编辑会重复身体属性

它仍然在复制身体部位和属性: 当我打开它时,画面是这样的: <img width=“472” alt=“截图 2017-12-05 下午6:22 12” src=“https://user-images.githubusercontent.com/72599/33638098-039c6746-d9ea-11e7-896e-5169febac6f3.png”> 然后我编辑它,移除了第一个选择器部分和额外的身体属性...... <img width=“673” alt=“截图 2017-12-05 下午6:22 52” src=“https://user-images.githubusercontent.com/72599/3363...

artf

你好,丹尼尔, 只需移除默认的 protectedCSS 即可 “''js Grapesjs.init({ ... protectedCss: “, }) ```

duskhacker

@artf 谢谢!

duskhacker

@artf我说得太早了。如果我像你说的那样移除默认受保护的CSS,那么正文部分和里面的所有内容都会消失......

#6082017年12月5日作者 niutech3 个回答
2 个反应

桌面版本

你介意给Windows添加一个桌面版吗,比如Pingendo或Pinegrow,可以打开和保存磁盘文件?你可以用NW.js来做这个。谢谢!

niutech

我刚刚用NW.js做了一个[GrapesJS Desktop](https://github.com/niutech/grapesjs-desktop)的初版。有人愿意贡献一下吗?

Areahints

作为一个对图形界面设计师具有巨大潜力的编辑器,它出乎意料地难以使用或“实例化”

artf

目前这不在我的优先事项列表上,但我知道已经有人在做 https://github.com/Immortalin/Merlot

#6072017年12月5日作者 fabianomiranda3 个回答
0 个反应

新增工具栏元素

你好。我来自巴西,抱歉英语不好。 我如何在工具栏上创建一个新的按钮,并且在工具栏上针对所选元素设置自定义事件?Igual ao que remove o elemento selecionado.

ShepelE

我不太懂一些词,但如果你想移除选中的元素,可以用 SelectionManager: ![25](https://user-images.githubusercontent.com/16486717/33655652-55ef9b52-da7c-11e7-8035-1b7555dcdee7.png) 如果你需要创建一个新按钮,可以用这里的指南 https://github.com/artf/grapesjs/wiki——创建面板,然后按钮,然后命令这个按钮......

fabianomiranda

非常感谢你的回复。我想在选择元素时在工具栏上创建一个新按钮。

artf

你好,Fabiano,请在这里查看 #266

#6052017年12月4日作者 Deepak8133 个回答
0 个反应

我们如何保存HTML

我们如何在不使用 editor.getHtml() 的情况下保存 HTML,并替换函数。 因为在图片上传中使用时,现有的视频元素 html 会被移除。 请帮我们用Backbone或其他解决方案动态保存图像和视频数据。

ateshuseyin

你可以自己创建一个[存储](https://github.com/artf/grapesjs/wiki/API-Storage-Manager),在编辑器中处理整数据(html、css、资源等)。 HTML部分只包含资源链接(图片、视频等)。如果你想上传数据,应该覆盖 AssetsManager 的 uploadFile 方法。

Deepak813

你好@ateshuseyin, 谢谢你的留言。 我不知道怎么自己创建存储空间。请详细说明怎么做,因为我现在正忙着做这些任务,无法继续。 editor.replace();刷新浏览器的整个HTML是因为视频元素无法正常工作,因为所有视频HTML都被移除了。 请帮我们解决这个问题。

artf

@Deepak813这是一个备受讨论的论点,所以你可以在期刊中搜索(例如#597)。

#6042017年12月4日作者 AH1N13 个回答
0 个反应

移除组件后的触发

伙计们,我需要在移除编辑器组件后触发一些操作。有没有办法做到这一点? 还是我得自己写触发点?

ateshuseyin

没有与您的要求相关的事件。你可以轻松覆盖'tlb-delete'命令。我为你创建了一个沙盒 https://codesandbox.io/s/k2yoxjjr95。 如果你想处理程序中移除的组件,我不知道怎么做。你可以为它创建一个新的沙盒。

AH1N1

这正是我一直在找的:)谢谢! 我写的是“之后”,但我本该写“当”;)

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#6032017年12月4日作者 krunal0392 个回答
1 个反应

条件性状

有没有办法设置条件性质?如果当前的组件是YouTube视频,那么就有一些特征;如果视频是非YouTube的,那么会显示其他特征?

ryandeba

你好@krunal039, 视频部分似乎已经在一定程度上做到了这一点——参见[这里](https://github.com/artf/grapesjs/blob/ea7dca4e5ed486658685bff832e9a5a9561e4d00/src/dom_components/model/ComponentVideo.js#L177)。如果你想进一步自定义特质,可以做类似这样的操作(未经测试的代码,但复制并修改自我做过的类似内容):

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

浏览所有主题