GrapesJS 问题

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

找到 3,464 个问题

#21992019年8月16日作者 ghost3 个回答
1 个反应

在 GrapesJS 编辑器中更改颜色和字体编辑样本内容时出现问题

1)我在 GrapesJS 编辑器中遇到了意想不到的行为。有人能帮我解决GrapesJS编辑器的问题吗? 如果我是从Outlook复制内容直接粘贴到GrapesJS编辑器里,它正在内容中添加一些 Outlook 专属标签(如 MsoNormal、</o:p> 等垃圾标签),因为这些垃圾标签,我很难编辑我保存的内容。 举个例子:它为这个内容添加了这么多东西 你好,Arjun, 以下是你需要在周日确认的事项。 谢谢。 “<td class=”c3065“ style=”框大小:border-box;font-size: 11.0pt;font-family: Arial, sans-serif; color: #434449;“> <...

pouyamiralayi

一种解决方案可能是将这些自定义Outlook标签定义为自定义组件类型;除非你定义标签,否则编辑器无法识别这些标签。 干杯。

inaLar

@arju1503,这通常发生在Outlook中转发消息时。 转发邮件和发送邮件在加价方面是两回事。但邮件也可能出现这种情况,因为自Outlook 2007起,Outlook使用Microsoft Word来渲染邮件。 这些元素被注入是为了使 Word 能够将 HTML 转换回完全兼容的 Word 文档。我强烈建议你不要使用任何电子邮件客户端转发消息的验证码。如果你决定用它,可以添加解析器修剪不支持HTML的标签,并附加到GrapesJS的导入命令中。

ghost

@arju1503,这通常发生在消息被转发到Outlook时。转发邮件和发送邮件在加价方面是两回事。但邮件也可能出现这种情况,因为自Outlook 2007起,Outlook使用Microsoft Word来渲染邮件。这些元素被注入是为了使 Word 能够将 HTML 转换回完全兼容的 Word 文档。我强烈建议你不要使用任何电子邮件客户端转发消息的验证码。如果你决定用它,可以添加解析器修剪不支持HTML的标签,并附加到GrapesJS的导入命令中。 谢谢@inaLar,你...

#21982019年8月16日作者 ghost暂无回答
0 个反应

在 GrapesJS 编辑器中更改颜色和字体编辑样本内容时出现问题

我在 GrapesJS 编辑器中看到了意想不到的行为。有人能帮我解决GrapesJS编辑器的问题吗?如果我从Outlook复制内容直接粘贴到GrapesJS编辑器中。它正在内容中添加一些 Outlook 专属标签(如 MsoNormal、</o:p> 等垃圾标签),因为这些垃圾标签,我很难编辑我保存的内容。 举个例子:它为这个内容添加了这么多东西 你好,Arjun, 以下是你需要在周日确认的事项。 谢谢。 <td class=“c903” style=“框大小:border-box;font-size: 11.0pt;font-family: Arial, sans-serif; color: #434449;”> <p styl...

#21962019年8月15日作者 devgru3 个回答
3 个反应

链接元素选择中没有工具栏

复现步骤:添加文本,选择单词,点击RTE面板中的链接图标,选择链接。 预期行为:当我选择链接时,我期望它会显示工具栏(带有“选择父”按钮)和它的徽章。 实际行为:如果链接是启动HTML格式,链接已被正确初始化,选择链接会同时显示徽章和工具栏。否则,如果链接是通过选择RTE按钮创建的,只显示徽章。

simplecommerce

@Abhisheknanda1344463你好@artf @simplecommerce @devgru有什么最新进展吗?有没有办法手动修复这个问题?谢谢 我不确定这对你是否有效,但这是我用来规避的方法。

Abhisheknanda1344463

@simplecommerce 谢谢你,伙计。 成功了。 谢谢

artf

关闭了问题,因为似乎已经修复了。

#21952019年8月15日作者 Jogai3 个回答
5 个反应

在模板中定义组件

问题我如何将模板的一部分设为组件?如何为这样的组件设置可拖拽组件?如果是这样,我能否停止在组件内部的子节点上设置 selectable: false、highlightable: false、hoverable: false?是否可以为组件提供不同的外部链路?更多解释和代码部分 我有个问题,因为我觉得葡萄比我现在用的更智能。我们有一个 asp.net 应用,它集成了,我们从一个元素初始化它。这个元素是我们的HTML模板和数据的结合,每天为用户提供预填的新闻通讯,内容更新。他们可以拖动文章然后发送。 我们的模板里有类似这样的内容(里面的代码是razor/cshtml相关内容): 在我看来,这看起来应该是一个启用了新 draggabl...

pouyamiralayi

如果你想在画布中已经放置了一些组件来初始化编辑器,你需要这个: “''js 编辑器初始化...... 定义自定义组件如前所述 与其继续区块定义,不如使用以下摘录: editor.setComponents(' <tr data-gjs-type=“custom-type”> <td,> <a> <img style=“margin-bottom: 5px;” alt=“” src=“https://cdn.@(Model.Site.Address)/Subscribe.jp...

artf

目前 Grapes 在存储自定义组件时存在一些问题,这些组件是外部插件定义的。 实际上,是正确存储的,关键是加载那些尚未识别的组件,因为自定义类型还不存在,所以这也是为什么要把代码放进插件里(插件是在获取组件之前加载的)。我们正在更新组件文档,这将是定义自定义类型的首个建议(也是唯一可用的) 顺便说一句,@Jogai@pouyamiralayi描述的方法是正确的。而不是写作 '''html <tr data-gjs-draggable=“#main” data-gjs-co...

Jogai

感谢你的回答和链接。他们真的很有帮助。 不过对于这个问题,我想找一种在模板内实现的方法。目前我们不用blockmanager,用户只是拖动东西。他们从不添加任何内容。

#21942019年8月14日作者 Ramkumar-Murugesan2 个回答
0 个反应

CKEditor 的块不可编辑[问题]

大家好, 我添加了自定义的CKEdittor模块,运行正常。但真正的问题是我无法删除、移动或添加CKEditor模块中的特质。我尝试了所有可能的方法,但都没用。我真的坚持下去了。有人能帮帮我吗? 我的自定义方块: “''js 编辑。BlockManager.add('ckeditor', { 编号:“CKeditor”, 标签:“FA FA-check-Square”, 分类:“基础”, 内容: <textarea data-gjs-type=“ckeditor5” data-rte=“1” name=“content” id=“ckeditor”>这是一些示例内容。</textarea> , 可拖拽:确实, 可移除:真 });...

artf

文本区不能被选中,因为它是组件“脚本”生成的静态元素,不属于编辑器,一切都是正确的。 如果你的目的是更改内部的 CKEditor 配置,你必须依赖组件特性,并在脚本中使用字符串插值(如 [docs](https://grapesjs.com/docs/modules/Components-js.html#basic-scripts)) 中描述的)。 “''js // ... 脚本:函数 () { const config1 = '{[ propertyName1 ]}';...

artf

顺便说一句,不要这么做,'ClassicEditor.create(document.querySelector('#ckeditor')'' 这样,你的积分会同时出现多个分量。 我觉得你最好用这种方式更新你的资料 “''js 我用的是新的 API 来定义组件类型,你也应该这么做...... 默认值:{ 可拖拽: '*', 可掉落:错误, 默认组件内容 组件:“<textarea>这是一些示例内容。”</textarea> 脚本:函数 () { // ... const t...

#21932019年8月14日作者 inaLar3 个回答
2 个反应

在编辑自定义组件内容时重置特性

你好, 我有一个自定义组件,内容可以通过切换特性选择选项来更改,也可以像文本组件类型那样在画布内渲染时进行编辑。 有没有简单的方法可以在编辑组件时重置与特质相关的属性? “''js 型号:{ 默认值:{ 类型:“标签”, 标签名称:“span”, 可掉落:0, 可编辑:1, 可文本:1, 特质:[{ 类型:“选择”, 标签:“自定义类型”, 名称:“customType”, 选项:customTypeOptions, }], }, toHTML() { return this.get('content'); }, 浏览量:{ 事件:{ 焦点:“重置特性”, }, reseTrait() { } } ```

inaLar

@artf,关于“选择”,我没能在同一个流程中连接内容变更并让它在特质变更时生效,也没能通过编辑文本/内容手动更改。手动更改后没能同步特性,但我设法让它正常工作了。自定义文本组件完全没问题。 至于上次发布的文档,我现在正在看,看起来非常好,但我发帖时还没看到。 可能只有我这样,但我通过榜样学习,所以更多的例子和用例总是加分项。 我知道产品是开放的,也很感谢你的努力。我希望自己能获得更多知识,并在不久的将来有所贡献。 干杯。

zgover

你可以在组件的内容道具上附加一个事件监听器,然后在回调中取该特征或更改特征的值道具,见下面的示例[摘自文档](https://grapesjs.com/docs/modules/Traits.html#updating-traits-at-run-time) “JavaScript 让我们更新输入组件中定义的“类型”特征的“选项” const component = editor.getSelected(); component.getTrait('type').set('...

inaLar

谢谢你,Zachary1748,但我不能用在我这边。也许我没解释清楚。 我有一个自定义组件。 组件内容可以通过三种方式更改:拖拽到画布中(你会弹出一个选项窗口)从设置中(也通过选项选择)在画布内编辑其文本 总之,我觉得我找到了一个解决方案——我创建了一个自定义数据类型,并将事件绑定到其更改上,而不仅仅是内容更改。但我还在测试。

#21922019年8月14日作者 gotthemad1 个回答
0 个反应

不同设备可能有不同的元件特性吗?

我正在尝试创建一个带有“滑动数量”特性的滑块组件,我想让这个特性对所有设备都不同。例如:用户可以为桌面选择5张幻灯片,移动端可选2张。

artf

你应该在设备更换时更新组件特性 https://jsfiddle.net/artur_arseniev/Lma0pu5v/

#21912019年8月14日作者 andyjoneski1 个回答
2 个反应

UrlLoad 和 UrlSave

你好, Grapesjs 是一款非常棒的软件,我已经玩了大约一周左右。我在 urlLoad 上有点挣扎。 我用的端点是返回json,你可以看到这里: ![截图 2019-08-14 08 14 15](https://user-images.githubusercontent.com/1778036/63001450-8db8fe00-be6b-11e9-9cb3-1c09f9d79333.png) 据我所读文档,这是不是应该把布局加载到画布里? 我想做的是用端点保存画布——然后加载画布等。但装载时什么都没发生,我手里一片空白。如果你能指点我正确的方向,或者提供演示之类的,非常感谢。 谢谢

artf

你的结论完全错误。请仔细阅读这部分:https://grapesjs.com/docs/modules/Storage.html#setup-the-server 你应该退货,比如这样: “''js { “gjs-” 是身份识别前缀 'gjs-components': [{ tagName: 'div', ... }, {...}, ...], 'gjs-style': [{...}, {...}, ...], }

#21892019年8月12日作者 rahuloftheramaneffect3 个回答
2 个反应

如何在RTE/自定义块中添加“有序/无序列表”选项

嗨 我正在尝试用葡萄制作一个有序列表。我尝试在RTE中添加以下内容: 如果我的页面在编辑器初始化时预先填充了 html,这个方法就适用,比如下面: 预填充编辑器: ![1](https://user-images.githubusercontent.com/9363958/62880720-a92ce780-bd4b-11e9-92b7-8ef2a802790c.png) 创建有序列表: ![2](https://user-images.githubusercontent.com/9363958/62880738-b4801300-bd4b-11e9-8b8c-5bf97decf68a.png) 但如果我把新块放进画布,然后按有序...

thomas1204

根据上面的评论,我现在可以添加有序和无序的列表了。有没有办法更新现有的有序和无序列表? @artf @rahuloftheramaneffect

artf

你能做一个可复现的演示吗?没有栈迹的错误是没用的(可选地)我们可以用Tab键缩进列表? 你绝对应该自己做,或者依赖像CKEditor这样的工具来获得更高级的文本使用体验

rahuloftheramaneffect

嘿!谢谢你这么快回复。你能做一个可复现的演示吗?没有栈迹的错误是没用的 这里有一个压缩包,里面是我编辑页面的简化版。 [Demo.zip](https://github.com/artf/grapesjs/files/3497128/Demo.zip) 它包含了大量CSS和js文件。上述RTE功能属于editor_rte.js。 繁殖步骤:开放 index.html(包含初始化编辑器、部分预先文本和少量块)。双击已有文本以查看RTE工具栏。使用右侧的列表按钮验证创建列表和缩...

#21882019年8月11日作者 TheComputerM3 个回答
4 个反应

如何利用特质更改标签名。

你好, 我想实现这一点: 当用户点击标题标签H1,H2,H3 ... 时,我希望出现一个特征(选择/下拉选单类型),可以更改标题的标签名

TheComputerM

我稍微查了一下网络后解决了这个问题。添加这个特质 “''js 特质:[ { 类型:“选择”, 选项:[ { 值:'h1', 名称:'标题1' }, { 值:'h2', 名称:'标题2' }, { 值:'h3',名称:'标题3'}, { 值:'h4',名称:“航向4'}, { 值:'h5',名称:'航向5' }, { 值:'h6',名称:'航向6' }, ], 标签:“尺寸”, 名称:“tagName”, 变革提案:1, }, ], ```

Buddhilive

@hosseinghs试试这个方法。这和@TheComputerM之前实现代码的方式是一样的。而且效果很好。 “''t” this.editor.Components.addType('headings', { isComponent: el => el.tagName.startsWith('H') && Number.parseInt(el.tagName.slice(1)) <= 6, 型号:{ 默认值:{ 特质:[ { 类型:“选择”, 选项:[ { id: 'h1...

hosseinghs

嗨,我也在努力做同样的事! 我的问题是,当我点击“特质”中的某个选项时,我的标题元素不会更新成新的标题! 你能帮我吗?

浏览所有主题