GrapesJS 问题

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

找到 43 个问题

🔍 keyboard
#35482021年6月18日作者 tannguyen972 个回答
0 个反应

当元素属性 tabindex = -1 时,无法用“control + C”复制

大家好! 我在自定义组件方面遇到了问题。我创建了一个属性为 tabindex = -1 的模态组件,但我无法用 Ctrl + C 键复制这个组件。 请帮帮我。 非常感谢!!

artf

只需在组件视图中移除该属性(例如在 onRender 方法中),这样你仍然能在最终 HTML 中获得该属性

ClaudeCode

谢谢你举报,@tannguyen97。 感谢你分享关于当元素属性 tabindex = -1 时,无法用“control + C”复制的报告。为了帮助团队调查并优先排序: 请提供: 一个最小可复现的例子(CodeSandbox/JSFiddle) 你的GrapesJS版本号 浏览器和操作系统信息 浏览器控制台的任何错误信息 重现问题的步骤 最有帮助的是什么:** 简约代码示例(不是你整个项目) 屏幕录制或截图显示问题 明确区分预期行为与实际行为 你正在使用的GrapesJS...

#34962021年5月28日作者 anlumo4 个回答
1 个反应

成就:标记组件为脏

你想给GrapesJS添加什么? 组件应该能够标记自己为脏,触发“onbeforeunload”警告信息。 详细描述你的功能需求详细 我有一个(自定义)文本组件,用户可以输入任意文本。我把数据存储在服务器上,我想要自动保存。不过,我不希望服务器因为每一个字符都被联系到文本组件,因为那会是用户数量的巨大洪水。 我也不想更改“stepsBeforeSave”,因为像拖动组件这样的大改动应该立即保存。 目前,组件在用户离开文本组件时存储数据(设置模型上的“内容”键)。这方法有效,但当用户在文本组件仍处于焦点状态时重新加载页面,最新的更改不会应用到数据模型上。 这样可以,但我想弹出保存警告对话框(“onbeforeunload”消息)。然...

anlumo

我通过完全关闭“on-andload”处理,自己滚动来解决这个问题。

artf

编辑器有“编辑”属性,只要启用或禁用RTE就会改变,所以我猜在你的情况下,这个功能应该可行 “''js editor.on('' change:editing', (em, editing) => { window.onbeforeunload = 编辑 ||editor.getDirtyCount() ?e => 1 :零; }); ```

anlumo

这个在 onbeforeunload 处理程序之后不会被我上面提到的那个片段覆盖吗?

#33372021年3月12日作者 wfcheng4 个回答
0 个反应

问题:使用方向键在Canvas中以绝对定位模式移动方块

你好,我正在为学生开发一个解决方案,让学生通过Grapejs编辑器(类似Canva)制作幻灯片讲述他们的高中经历,并且已经将编辑器配置为“绝对”模式,效果非常好。 但我似乎找不到用方向键在编辑器里移动掉落方块的方法。 我知道自定义键位绑定,会考虑添加这个功能,但只是想看看我是不是遗漏了什么,有没有其他更好的选择。

artf

不,不幸的是,在这种情况下,自定义键位映射是唯一的解决方案。 你应该直接获取选中的组件并更新它的样式。

michaelhofer

我找到了一个可行的解决方案如下: 命令的添加如下: “moveSelectedElements”方法只需以下操作: 不过,当用方向键移动元素时,画布也会滚动,这是库巴默认的行为。 我们如何防止使用keymap('e.preventDefault()'))的默认传播?这应该是自动发生的,还是有办法配置?

sathudeva7

keymaps.add('ns:my-keymap', '⌘+s, ctrl+s', 'some-gjs-command', { 阻止默认浏览器操作 防止:正确, });

#33252021年3月9日作者 mmotov4 个回答
0 个反应

JSON.stringify(this.editor.getComponents()) 错误

版本: 0.16.44 你好!我有页面的远程存储,最近在保存页面时遇到了一个问题,'JSON.stringify(editor.getComponents()'开始弹出错误,'Uncaught TypeError: e[M].getId is not a function'。 我检查了页面已保存的JSON表示,发现它在这部分失败了 我不知道“__symbol”键的用途,但没有它,一切都正常。 这个问题只在少数几页出现,但我担心其他页面也会再次出现。

yucomds

这里也是同样的错误......你有解决办法吗? [编辑]目前降级似乎是唯一的解决办法

josfh2005

这里也有同样的问题,如果我在加载编辑器前先预处理组件并移除那个属性(__symbol),模板就能正常工作。 现在有没有办法暂时禁用这些符号@artf?

artf

是的,不幸的是,之前版本的葡萄有个bug,导致符号不自愿出现。在当前版本中,这个bug已经修复,符号被禁用了,但不幸的是,如果你尝试加载一个包含由bug创建的符号引用的组件,仍然会出现这个问题。 我会在下一个版本中为这个问题添加补丁,目前我会听从Josè的建议,在加载编辑器前删除所有“__symbol”引用。

#33202021年3月7日作者 alumpe1 个回答
0 个反应

德语支持中“layer”一词的拼写错误

在德语locale文件中,第75行“layer”一词有个拼写错误。 应该是“layer: 'Evene'',而是'layer: 'Ebene'',有人翻译键盘时不小心按了'v'而不是'b'。 我现在正在为它创建一个拉取请求。

ClaudeCode

谢谢你举报,@alumpe。 感谢你分享关于德语支持中“layer”一词错字的报告。为了帮助团队调查并优先排序: 请提供: 一个最小可复现的例子(CodeSandbox/JSFiddle) 你的GrapesJS版本号 浏览器和操作系统信息 浏览器控制台的任何错误信息 重现问题的步骤 最有帮助的是什么: 简约代码示例(不是你整个项目) 屏幕录制或截图显示问题 明确区分预期行为与实际行为 你正在使用的GrapesJS配置 有了这些细节,维护者可以更快地识别和优先排序修复。Gra...

#32862021年2月23日作者 abulka3 个回答
0 个反应

优点:Codemirror 自定义密钥和插件

有没有办法为内置的 Codemirror 编辑器添加快捷键和插件?我特别想要一个评论快捷键。 有各种插件使用Grapesjs编辑器,包括 https://github.com/artf/grapesjs/issues/324#issuecomment-330571539 和自定义HTML代码插件,https://github.com/Ju99ernaut/grapesjs-script-editor 和 https://github.com/ryandeba/grapesjs-html-block,都能从中受益。 虽然有办法通过常规的 Codemirror 自定义选项,但调用插件似乎不起作用,比如说 “JavaScript var...

abulka

我终于让Grapesjs捆绑的'commentRange'工作了——必须直接调用'cm.commentRange',而不是通过'cm.execCommand'。此外,它还需要参数。因此,只要你选择你想评论的区域,我就能让一些评论功能正常工作: “JavaScript 'Cmd-1': 函数 (cm) { cm.commentRange(true, cm.getCursor(true), cm.getCursor(false)) }, // comment 'Cmd-2':...

artf

是的,我觉得在CodeMirrorEditor.js中曝光没问题

ClaudeCode

谢谢你举报,@abulka。 安全和依赖性问题很重要。GrapesJS 团队积极致力于保持依赖系统的更新。 为你现在: 运行“npm审计修复”以查看可用的补丁 查看是否有更新的GrapesJS版本,可能已经解决了这个问题 如有稳定版,升级前先测试最新稳定版 如果漏洞非常严重,可以使用“npm audit fix --force”,但请务必彻底测试 理解风险: 在GitHub安全公告中查看具体漏洞详情 并非所有高严重性问题都会影响你的代码路径 某些漏洞仅在特定条件下触发 保持...

#32632021年2月4日作者 san-1232 个回答
0 个反应

远程存储问题

你好, grapeJs 启动,我通常会加载函数调用并附加内容到 gjs div, $.Ajax({ 类型:“GET”, 网址:” processData: false, contentType: 'application/json;charset=utf-8', DataType:“json”, $.each(data, function (key, data) { $('#gjs').append(html); } }); 我的问题是,保存内容后,重新加载同样的功能调用不起作用。 如何简单调用保存/加载功能? 请指引我

artf

https://grapesjs.com/docs/modules/Storage.html

ClaudeCode

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

#32152021年1月4日作者 san-1232 个回答
0 个反应

来自远程数据库的内容加载问题

你好, 我创建了Grapejs页面构建器。我有两个链接,一个是 pagebuilder1,另一个是 PAgeBuilder2。两者都被重定向到grpaejs编辑器,并根据ID从数据库加载内容。 当我点击PageBuilder1时,会变成index.html?id=1(从数据库加载已保存内容) 当我点击PageBuilder2时,会显示index.html?id=2(从数据库加载已保存内容) 我的问题是所有页面构建器都加载了同样的内容。 我的代码: Grapesjs.init({ 展示偏移集:1, noticeOnUnload: 0, 容器:“#gjs”, 身高:“100%”, fromElement: true, storageM...

artf

请按照本指南 https://grapesjs.com/docs/modules/Storage.html#setup-remote-storage

ClaudeCode

感谢你报告,@san-123。 关于远程数据库内容加载问题的建议很棒!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”事件进行细致跟踪 构...

#32062020年12月23日作者 jrkd4 个回答
6 个反应

FEAT:页面管理器插件

功能: 可以用Grapesjs创建多个页面。功能设计 全球范围:[ ] 在顶部横幅“设备[下拉列表]”右侧添加一个链接,上面写着“当前<page-name>页面”。[x] 在右侧列“方块”右侧新增菜单项。图标会类似于[FA页面图标](https://fontawesome.com/v4.7.0/icon/files-o)。[ ] 点击菜单项或当前页面链接,会显示“页面管理器”标签;一个全宽链接列表,可以在页面间切换。 页面管理器标签页:[x] 当前页面将在列表中被高亮显示。[x] 点击新页面会刷新主视图及相关编辑器信息。[x] 当前设备设置应保持。[x] 导出/预览/布局/属性功能应指向新选中的页面。[ ] 列表中的每个页面都会有...

artf

Pages模块现已合并 https://github.com/artf/grapesjs/pull/3411,新版本即将发布。 使用Pages API的简单演示:https://codepen.io/artf/pen/XWpJQoY

artf

听起来很棒,我很喜欢把这个插件作为插件的想法,如果你觉得需要添加什么(比如某个事件)来让它更好,告诉我。

jrkd

这个功能的核心今天已经运行起来了。 @artf如果还想要,告诉我,我会在一月份再花点时间。 给自己的笔记, 待办事项:添加/移除页面操作,进行视觉调整,集成存储管理器,并将代码重构为独立插件。

#31932020年12月18日作者 jlong-crestron4 个回答
0 个反应

FEAT:修改当前内部对象存储,以支持关系映射,取代当前可索引容器实现

你想给GrapesJS添加什么? 目前,新实例化的编辑器实例会被添加到可索引集合中,用户必须在实现中管理这些编辑器之间的关系。相反,应该有一个托管集合,用户可以提供一个键值,然后映射到编辑器的实例。这也将允许对编辑器 API 进行扩展,添加 CRUD API 端点来管理对象实例。 最新版本有替代方案吗? 目前没有 这是否与某个问题有关? 不

artf

我不确定我理解得对不对,你能不能说明一下当前的行为和你的提案?

jlong-crestron

基本上,我希望在初始化时修改一个汇总编辑器实例的暴露列表,这样如果能在初始化配置对象上用类似“editorInstanceId”的新属性,将“editors”从列表改成带有新属性的映射,我可以在接下来的几天内创建一个POC。

no-response[bot]

由于我们请求原作者提供更多信息未获回应,本期已自动关闭。仅凭当前期刊中的信息,我们没有足够的信息采取行动。如果您有答案或找到我们需要的答案,请随时联系我们,以便我们进一步调查。

浏览所有主题