GrapesJS 问题

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

找到 23 个问题

🔍 inactive
#19142019年3月22日作者 lyczos2 个回答
0 个反应

将默认字体大小单位改为EM,而不是REM。

现在在GrapesJS编辑器里,我们有一些字体大小的“REM”。我认为它们应该放在“EM”单元,因为如果我们想在现有页面中嵌入编辑器,可能会遇到字体大小的问题——比如当父字体大小设置为非默认大小时(例如 ':root { font-size: 10px }')。 https://i.imgur.com/Vzoa5y9.png

artf

是的,我觉得你说得对,你想创造一个PR吗?

lyczos

好的,我待会儿会做的:)

#19092019年3月20日作者 iggolob3 个回答
1 个反应

SetComponents 有时非常慢

大家好 我们正在开发一个通讯应用,使用 grapesjs 作为邮件编辑器,通讯预设为 plguin 和一些自定义更改。我们把HTML存储在数据库里,我注意到有些模板用editor.setComponents方法加载起来非常慢。 我尝试通过导入加载演示页面的模板,虽然加载几乎是瞬间完成的,但我注意到新闻通讯演示页面出现了一个奇怪的问题(https://grapesjs.com/demo-newsletter-editor.html)。如果在导入HTML模板前选择组件,加载时间会长得多(从0.5秒到5秒不等)。 插入一些日志后,我发现骨干“设置”方法被更多地调用。大多数是“添加”模型被重复使用,但也有很多“变换样式”的模型。但我有点迷...

artf

这会告诉你如何发现性能问题 https://developers.google.com/web/tools/chrome-devtools/evaluate-performance/

artf

你好@iggolob能举个模板示例和具体步骤来重现问题吗(说的是选择组件时速度变慢)?

iggolob

你好@artf 新闻通讯演示页面可用于重现该期刊(https://grapesjs.com/demo-newsletter-editor.html)。 作为模板,你可以使用演示页面的预设HTML集。只需从导出模板选项复制 HTML 即可。 现在如果你导入那个模板,应该几乎可以立刻完成。但如果你选择任何组件,无论是图片、文本、单元还是表格,尝试导入时都会明显花很长时间,比如几秒钟。 希望这些信息足够,我也可以尝试做个视频,展示步骤。

#18602019年3月5日作者 Huuums暂无回答
0 个反应

启用全尺寸投放区后,每次你把方块放到画布上时,都会打开资产模态。

我觉得可能是没有检查是否真的是被丢到画布上的图像? 请看这两个链接,获取最小复刻版本。 https://codesandbox.io/s/jlqpl2kj95(投放区设为1,随便把任何方块放到画布上,资产模态就会打开) https://codesandbox.io/s/k2roqjk20r(投放区设置为0,投放方块不会打开资产模态)

#17912019年2月13日作者 minuwan1 个回答
0 个反应

目的地名称

@artf,有没有办法显示目标元素的名称? ![grapejs_drop](https://user-images.githubusercontent.com/1106745/52704047-ba1bbc80-2fa5-11e9-831b-5a09a35d304c.jpg)

artf

目前还没处理,但我会接受PR(我觉得可能需要创建一个新命令来处理徽章)

#15992018年11月20日作者 00salmon3 个回答
0 个反应

拖放渲染不正确

版本 0.14.40点击“继续”选择“您已成功注册!”头部(sqh-header)将“Give 10 and Get 10”与下方文字之间拖拽 sqh 头块sqh-头在图层管理器中视觉上显示在Give $10头上方,但在Give $10头下方将 sqh 头拖回“Rewards Dashboard”下方的“form-component” 内sqh-header 在“奖励仪表盘”上方的视觉效果上出现,但在图层部分下方 演示版没能重现这个bug,我也搞不清楚问题出在哪里。尝试了多个版本的葡萄,每次都会出现这个bug。 用Chrome在 https://jsfiddle.net/00salmon/ocbxqm91/ 上测试过

artf

看起来问题是因为你的 JSON 里有不同的空“textnode”。你如何获得这种结构?

00salmon

嗨,@artf, 谢谢你指出这一点。JSON 来自一个内部示例,包含更多组件,缺失的位一定被转换成了空的文本节点。 我已经移除了 jsfiddle 里的空 textnodes,但似乎仍然遇到“sqh 头”落错位置的问题。还有其他线索吗? 干杯

artf

请用清理后的 JSON 更新现场演示

#15162018年10月15日作者 FrciSmrci3 个回答
2 个反应

CKeditor 5 [增强功能]

嘿,@artf, 如以下[task](https://github.com/artf/grapesjs/issues/1236)所述,我构建了一个ckeditor 5,它能配合GrapesJS,但部分功能表现不如预期。 项目符号和数字点创建时没有问题,但加粗、斜体和链接选项则不行。 你能不能看看这个——为了赏金? 祝你有美好的一天。 编辑:自定义版本不再必要,因为修复已经在最新版本里了。我用的是@ckeditor/ckeditor5-editor-inline构建版本。

FrciSmrci

你好,@artf,谢谢你的回复。 自定义构建不再必要,因为修复已包含在最新的[版本](https://github.com/ckeditor/ckeditor5/releases/tag/v11.1.1)中。我用的是@ckeditor/ckeditor5-editor-inline构建版本。 我会去看看BountySource试试。:)

FrciSmrci

@Unsigno 代码应该是一个可以在 GrapesJS 中提供的新插件,比如 [grapesjs-plugin-ckeditor](https://github.com/artf/grapesjs-plugin-ckeditor),只是这个插件应该支持 ckeditor5(grapesjs-plugin-ckeditor5)。 @gabrigcl已经开发了上述插件的大部分内容,你可以在这个[任务](https://github.com/artf/grapesjs/issu...

artf

你好@FrciSmrci我不能说这是我的优先事项,但你可以考虑一下 https://www.bountysource.com/teams/grapesjs 开悬赏,看看有没有人能帮你看看。 顺便说一句,我更倾向于和原版 CKEditor 5 集成,而不是某个分支

#13682018年8月16日作者 shlomoko3 个回答
2 个反应

缩小画布

有没有办法动态调整画布大小?比如不使用设备管理器,而是像面板或组件那样拖拽宽度? 谢谢

jvillena

@artf和@shlomoko,我会一点点解释这个步骤。首先,我需要用Jquery,但你也可以用其他库,或者在GrapesJS引擎里集成。我当时想让它对引擎透明。 1)我在主索引HTML中,除了iframe外,有两个隐藏的div元素,而grapesJS在运行时生成:第一个称为“设备分辨率”的部分显示与该屏幕尺寸兼容的设备分辨率。第二区包含: ——排水沟 ——当排水沟被压时,左右两侧的垂直杆包裹车身 以下代码是所使用的样式表: 2)当用户点击设备屏幕图标时,我显示的是处理程序...

artf

不@shlomoko,画布不能调整尺寸,但我很乐意看到PR的说明(可能用和分镜一样的逻辑)

jvillena

你好@artf,我刚刚实现了一个调整画布条大小,但我不知道有没有办法刷新高亮边框的位置。请看视频:http://recordit.co/jKlppYg2dD GJS 徽章 GJS-工具栏 此致敬礼。

#8262018年2月1日作者 maxtacco1 个回答
0 个反应

元素自动生成的ID,在使用自定义ID并清除后没有重新添加

你好, 我觉得有个关于元素ID属性生成的bug。 修改元素样式时,元素的 id 属性值会自动生成并添加到 HTML 中,HTML 在代码编辑器中可以看到。然后在设置中使用 ID 编辑器指定自定义 id 时,id 属性值会正确更新。但是,一旦该 ID 值被清除,自动生成的值就不再应用到元素的 id 属性上。相反,id 被设置为空字符串(即 'id=“”') 我在想这是否和ID特质有关,它不把id设为空,而是在清除时设置成空字符串。 谢谢。

maxtacco

另外,如果是这样,最好在组件配置中设置默认的“空值”策略。例如,'emptyValue: “”“或 'emptyValue: null',或者 'emptyValue: () => {}'。

#3912017年10月7日作者 tomichal3 个回答
7 个反应

命名空间CSS?

你好, 有没有办法设置 grapesjs 编辑器,让为 HTML 内容生成的 CSS 带有命名空格?换句话说,如何避免编辑器中为创建/编辑内容定义的样式规则泄露到网站页面的其他部分? 以我的网站为例,用户可以编辑页面的大部分内容,但不能全部编辑——其余部分、HTML 内容和 CSS 由服务器动态生成(这是一个 Rails + Angular 网站)。 我发现如果我用带列的行,grapesjs 编辑器生成的 CSS 会有一个“行”类的定义(例如 “.row { ... }”)。不过,我用的是一个CSS库,它为“行”类提供了自己的定义,所以grapesjs的定义和我全站CSS的定义冲突了。 感谢大家对这个问题的任何帮助和建议!

danfitz36

你觉得可以直接在 Grapejs 生成的所有类名前缀吗?如果不是用.row,而是用.grape-row之类的(我可能会把前缀设为变量),你大多能得到@tomichal想要的效果。

artf

实际上,你可以在新选择器上添加一个监听器,并在上面添加一个前缀 “''js const 前缀 = 'myprefix-'; editor.on('selector:add', selector => { const name = selector.get('name'); 如果 (selector.get('type') === 编辑器。SelectorManager.Selector.TYPE_CLASS && name.indexOf(前缀) !== 0) { sele...

devmohitagarwal

你好, 想做沙盒设计的人可以试试导出的CSS前缀,我们也有同样的使用场景,采取了Sas的方式。 为此,我使用了sass.js(https://github.com/medialize/sass.js/) 步骤:将css字符串与你的自定义类一起包裹。比如说MyCustomClass。从上述库运行 sass.compile,将 scss 转换为 css,后者已与 gaten() 类沙箱化, 这样你就不会遇到冲突的问题。 这个回答是从另一个问题中复制来的。#2363

#3862017年10月5日作者 RuudH3 个回答
3 个反应

打开新视图时扩展面板/命令示例/文档

你好,Artur, 首先,葡萄真是太棒了! 目前我正在尝试弄清楚如何创建一个带有按钮的盘状结构,这个按钮可以打开新视图,就像方块和图层管理器按钮那样。 我想在那个新视图里渲染我自己的一组物品。我看的是你用来打开那些视图的代码,但它是用管理器来渲染这些物品的。而且这些代码的作用也有些模糊。 如果能有更多关于这个主题的文献资料就太好了。

daniel-farina

熟悉GrapeJS的一个好习惯是尝试复制块管理器,自己创建一个。你可以通过编辑下面的文件来实现这一点。一个很好的例子是复制 src/blockmanagerand 命名为 src/sectionmanager,然后把所有名称从 BlockManager 重命名为 SectionManager。看看代码,行数不多。 然后你需要编辑以下文件才能让它正常工作: src/编辑/index.js ` SectionManager: em.get('SectionManager'),...

Moikapy

嘿,我也在考虑做类似的事情,发现了这里。 想知道是否有任何文档进一步解释创建新视图的过程。

artf

你好,@RuudH谢你的建议,我希望很快能发布更多关于这个论点的内容。目前,我只能建议你检查这些面板使用的命令(例如:[开放方块](https://github.com/artf/grapesjs/blob/dev/src/commands/view/OpenBlocks.js))

浏览所有主题