GrapesJS 问题

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

找到 877 个问题

🔍 question
#37452021年9月2日作者 Light08152 个回答
0 个反应

导入后无法删除 background-image:url of body

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chromev93 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?导入以下代码现在尝试删除背景图片:URL不可能 预期的行为是什么? 点击正文,打开“打开样式管理器”,再打开“装饰”后,“背景”应该会显示带有图片的图层。这样就可以删除了。 目前的行为是什么? 点击正文,打开“打开样式管理器”,再打开“装饰”后,“背景”应该会显示带有图片的图层。它不会显示,因此无法删除 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: 不,不是行为准则 [X] 我同意遵守本项目的行为准则

artf

你好,感谢@Light0815报告,但我已经知道图层和导入CSS相关的bug,所以我把这个作为#1396的重复关闭

ClaudeCode

谢谢你举报,@Light0815。 关于导入后无法删除背景图片:正体URL的好问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('somethi...

#37342021年8月30日作者 anatoli-dp4 个回答
2 个反应

有没有办法在自动保存之外手动触发存档?

正如问题所说,有没有办法通过自动保存以外的命令触发保存功能?不是键值对,而是能瞬间保存整个项目的命令?

csechrist

如果你设置了存储管理器,'editor.store()' 可以保存项目

artf

是的,你必须使用“editor.store()”

anatole-dp

Editor.store()没有参数,只会给我发送空数据。

#37332021年8月30日作者 anatoli-dp2 个回答
0 个反应

(或者只是一般问题)存储管理器加载不正确吗?

警告 请阅读并遵循接下来的三步,然后在发布问题前删除它们遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md先快速搜索一下,看看有没有人没开同样的问题所有相关陈述/问题都必须填写/回答,否则问题可能已结案JSFiddle 入门模板 https://jsfiddle.net/szLp8h4nCodeSandbox 入门模板 https://codesandbox.io/s/1r0w2pk1vl 版本: 当前(我用的是最新版本) 你可以在控制台输入“grapesjs.version”获得版本 你能重现演示中的bug吗?[ ] 是的[x] 不 预期的行为是...

artf

你是在取材外调用“clb”,在你的加载函数里 “''js Load(keys, clb) { 取(...)。那么(r => r.json()) .then(res => { ... CLB(结果) }) } ```

ClaudeCode

谢谢你举报,@anatoli-DP。 存储管理器(或一般问题)无法正确加载的问题?似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤:** 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更...

#37312021年8月27日作者 gustavohleal4 个回答
1 个反应

文本元素在事件扩展后无法重复选择

版本:0.17.25 你能重现演示中的bug吗?[ ] 是的[x] 不 预期的行为是什么? 通过在视图中添加事件来更新现有的类型文本组件。 详细描述那个漏洞 事件正在添加,但一旦我选择了另一个组件,就无法回到第一个组件。该版本只能提交一次。 你能附上截图、截屏或实时演示吗?**[x] 是(附上)[ ] 不 首先,我想扩展文本类型组件,添加一个事件来监听输入内容。 “JavaScript 导出默认(编辑器,opts = {}) => { const domc = 编辑。主导组件; domc.addType('text', { 浏览量:{ 事件:{ 按键:(e) => { console.log(“某些代码”) } } }, });...

gustavohleal

这其实就是问题所在。谢谢你的回复。我会关闭这期刊物。

ronaldohoch

+1:D 我们正在努力解决这个问题 https://github.com/artf/grapesjs/issues/1136 因为用 ckeditor 还是会出现这个问题。 ![图片](https://user-images.githubusercontent.com/2287371/131171028-4e03e610-2335-4b9a-9f15-081b8c6c33f8.png)

artf

“事件”不会自动合并到扩展组件中,所以你必须手动操作。 “''js 事件:{ ...domc.getType('text').view.prototype.events, 按键:(e) => {...} } ```

#37272021年8月26日作者 SintoDema4 个回答
1 个反应

风格导入问题

你好,@artf, 详细描述这个漏洞 在用 GrapesJS 创建新模板时,我遇到了一个情况:当我们尝试从 import modal 导入 CSS 时,编辑器中没有反映出来。在一个空白编辑器上,我创建了一个模板,添加了HTML和CSS。之后,我需要在CSS部分做一些修改,为此,我选择了编辑器顶部的导入选项,滚动到底部的样式标签。我看到了导致问题的样式,我选中并删除了它。之后,我点击了导入按钮。 然后我检查了模板,样式问题依然存在。于是我再次打开导入模态确认样式不存在,并正确地移除了它。我看到我移除的风格还在风格标签里。我尝试过多次删除并导入。它没有从编辑器中移除。我再次打开导入模态时,它就在了。 目前的行为是什么? 从导入模态中移...

artf

你好@javadsamiee这个问题在最新版本的预设插件上已经修复了

artf

你好,@SintoDema问题就在这里 https://github.com/artf/grapesjs-preset-webpage/blob/3e5a9e12998c9a32b6f1199953084163678e6c17/src/commands/openImport.js#L15-L18 如你所见,它更新了组件,但不会清除样式模块。 我现在没时间做那个插件,但我建议你在那里开个问题/PR,总有一天我会修复的。

javadsamiee

你好@SintoDema问题就在这里 https://github.com/artf/grapesjs-preset-webpage/blob/3e5a9e12998c9a32b6f1199953084163678e6c17/src/commands/openImport.js#L15-L18如你所见,它会更新组件,但不会清除样式模块。我现在没时间做那个插件,但我建议你在那里开个问题/PR,总有一天我会修复的。 @artf 这个问题有最新进展吗?

#37262021年8月26日作者 ryprfpryr4 个回答
0 个反应

如何添加扩展 [帮助]

请问,有人能用清晰的步骤解释如何添加扩展吗? 非常感谢!

artf

我想你就是在找这个 https://grapesjs.com/docs/modules/Plugins.html

ryprfpryr

我想你在找这个 https://grapesjs.com/docs/modules/Plugins.html 嘿,@artf谢谢你的回复,但我真正需要知道的是如何给我的Grapesjs添加现有的扩展/插件。 我的主要目标是托管一个使用 demo 页面相同模块/扩展的 Grapsjs 实例。

artf

嘿,@ryprfpryr你可以在这里查看演示文件 https://github.com/artf/grapesjs/blob/gh-pages/demo.html

#37222021年8月25日作者 amansharmaagami2 个回答
0 个反应

想添加固定大小的画布高度

我用它来制作动态PDF内容。 我想固定画布的高度,这样用户就不能从给定大小(高度)添加更多方块。 我想要删除滚动和一个消息或限制,比如不能添加更多物品之类的。 在同一个地方找到了一个旧问题 https://github.com/artf/grapesjs/issues/1803 如果更新成本高,请建议我如何实现同样的效果。

amansharmaagami

@artf 感谢你制作GrapesJS。

ClaudeCode

谢谢你举报,@amansharmaagami。 关于想添加固定尺寸画布的好问题。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something chang...

#37212021年8月23日作者 christosapos4 个回答
2 个反应

用Cypress测试拖拽

你好,@artf。我想用Cypress工具在GrapesJs上运行一些测试场景。但我无法用Cypress模拟拖拽模式。你能帮帮我吗? 谢谢。

ronaldohoch

我觉得这对你有帮助: https://stackoverflow.com/questions/55361499/how-to-implement-drag-and-drop-in-cypress-test

christosapos

我也尝试过类似的方法,但对我没用......我觉得我的问题是,grapesJ的画布被渲染成iframe,带有块的表格渲染在这个iframe之外,而Cypress当我点击一个块拖动并放入iframe时,却无法处理iframe内部的内容。如果你成功了,告诉我。

ronaldohoch

我开发阶段还没到测试阶段 :/ 但我假装用Cypress。

#37152021年8月20日作者 mingxin-yang3 个回答
0 个反应

如何添加点击事件

这是我自定义的区块代码: 我想在把按钮添加到画布后添加点击事件,点击后就能看到mj文本中的内容

mingxin-yang

@artf

artf

@mingxin-yang 你必须 [扩展](https://grapesjs.com/docs/modules/Components.html#update-component-type) “mj-button” 组件的 [view](https://grapesjs.com/docs/modules/Components.html#view)

ClaudeCode

谢谢你举报,@mingxin阳。 关于如何添加点击事件的好问题。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed')); 组...

#37142021年8月18日作者 ltenti2 个回答
0 个反应

部分解析

讨论于 https://github.com/artf/grapesjs/discussions/3711 <div type='discussions-op-text'> <sup>最初由 ltenti 于 2021 年 8 月 17 日发布</sup> 大家好, 我想知道如何应对这种情况:我必须允许我的应用用户编辑网页网页上有用户无法编辑的固定部分整个HTML由服务器端的遗留子系统生成,但其中的部分必须由用户自由编辑 我实现了一个自定义组件,可以从服务器获取遗留的 HTML,并用 model.components(data) 语句“注入”到画布中。 我在考虑创建一个新的组件类型(类似doNotEditMe),属性“editab...

artf

https://github.com/artf/grapesjs/discussions/3711#discussioncomment-1234837

ClaudeCode

谢谢你举报,@ltenti。 关于部分解析的好建议!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”事件进行细致跟踪 构建一个插件,扩展编...

浏览所有主题