GrapesJS 问题

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

找到 203 个问题

🔍 enhancement
#32162021年1月5日作者 tomhatzer4 个回答
2 个反应

功能:通过资产管理器添加 referrerPolicy 以加载图片

你想给GrapesJS添加什么? 我正在尝试通过资产管理器为图片加载添加“Referer”头。 详细描述你的功能需求详细 我正在开发一个托管在AWS上的页面构建器。为了防止别人热链接我的图片,我实现了AWS WAF,限制图片加载到referer域(我自己的域名)。 当用“.src”程序加载图像时,没有发送referer头,导致图像损坏或无法显示(服务器出现403个错误)。我们可以通过将“refererPolicy”属性设置为“origin”来解决这个问题。更多详情请见此处:https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/referrerPolicy...

artf

正如对PR的回复,如果需要,可以扩展图像组件来实现,而不会破坏对他人的集成。 顺便说一句,当你想添加某个功能时,你应该始终考虑这对他人的使用方式。所以,如果“referrerPolicy”功能提供了更多选项,那么让它可自定义可能更合理,这样新功能也能适用于其他情况(你不能只强制它“origin”,因为它适合你的情况)。

tomhatzer

非常感谢你的建议@artf——我会尝试通过扩展原始组件来完成这件事。祝你有美好的一天!😃

tomhatzer

对于所有遇到iframe无法发送里面内容引用头的人,这里有一个快速且粗略的解决方案。 只需将Canvas iFrame的“src”设置为你想要的域名,并用这个引用器。就我而言,我希望和编辑器显示的网页用的是相同的域名。 在渲染时,'srcDoc' 属性会引路,然后是 'src' 属性。 请注意,在Canvas iFrame加载后设置可能会导致错误,所以可以尝试操作Canvas视图的属性(据我所知,这不直接实现)。

#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:*”事件进行细致跟踪 构...

#32082020年12月24日作者 burgil2 个回答
1 个反应

使用 GrapesJS 而不使用 NPM?

你好, 在普通主机提供商上使用网页构建器的功能,有没有 NPM 的使用可能?比如Apache或其他解决方案? 谢谢!

gixid192

你可以在这里查看该文件:https://grapesjs.com/docs/getting-started.html#import-the-library

ClaudeCode

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

#32072020年12月23日作者 shkhalid4 个回答
1 个反应

表格不提交

我正在尝试创建自定义方块。但当我在内容中使用“组件”时,表单没有提交。 当我用“内容”代替“组件”时,我能获取所有表单数据。 但这样就不允许我拖拽新的输入到成型状态。

gixid192

关键是——HTML缺失了。 如果可以的话,建议你把代码分享到codesandbox或类似的在线编辑器里。

artf

是的,我们需要完整的代码来理解问题。 无论如何,如果你用的是“脚本”,请定义一个自定义组件,而不是直接放在块里,否则存储会有问题。我知道文档里是这样说明的,但块的使用只是示例(我希望能在下一个版本更新)

no-response[bot]

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

#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如果还想要,告诉我,我会在一月份再花点时间。 给自己的笔记, 待办事项:添加/移除页面操作,进行视觉调整,集成存储管理器,并将代码重构为独立插件。

#31942020年12月18日作者 stljeff13 个回答
0 个反应

我该如何重新利用Spectrum色彩选择器?

我想重新利用GrapesJS中使用的色彩选择器。 我必须用颜色选择器来设置一些项目的关卡设置。这些设置可以通过GrapesJS编辑器访问。我想利用现有用于字体颜色等特性的颜色选择器。 我看到过[这篇帖子](https://github.com/artf/grapesjs/issues/1393)关于扩展一个特性以获得颜色选择器。很遗憾,我觉得我做不到。据我所知,特质是组件的一部分;我不是在处理组件,而是在处理 GrapesJS 一般范围之外的项目层级设置。 我只需要把输入标签传递给 Spectrum,并且能够在 Change 上添加事件处理功能。我能看到grapesjs.js编译包里有Spectrum插件,只是不明白是否以及如何利...

artf

目前,唯一的方法是使用这个非公开的API。 “''js editor.getModel().initBaseColorPicker(DomElement, { / spectrum options / }); ``` 我已经开始开发一个新的UI模块,以应对类似情况(比如添加/替换GrapesJS UI元素的能力),但遗憾的是,我不知道它什么时候发布,因为它还处于实验阶段。

himedlooff

有没有办法保留色彩选择器,同时配置光谱选项?比如说,如果我想强制十六进制颜色,我可以传递“{ preferredFormat: ”hex“ }'?

ClaudeCode

谢谢你举报,@stljeff1。 关于我该如何重新利用Spectrum选色器?的建议很棒!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”...

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

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

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

artf

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

jlong-crestron

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

no-response[bot]

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

#31902020年12月18日作者 mshafiq2352 个回答
0 个反应

SRC 会自动添加到视频标签中

你好,@artf, 感谢你构建并维护了这个精彩的套餐。 问题 我正在使用 Nicepages 来构建模板并上传到我的网页应用。我已经集成了Grapesjs,管理员可以轻松编辑模板。我遇到的问题是 Nicepages 会添加以下视频标签 当这个模板在 Grapesjs 中打开时,grapesjs 会像这样在父“视频”标签中添加源代码 如果你能帮我解决这个问题,那就太好了。我很乐意用GrapesJS修复并发起拉取请求

artf

GrapesJS 中的默认视频组件处理方式不同(无源代码)。就你而言,我建议扩展默认版本,并添加对来源的支持。

ClaudeCode

谢谢你举报,@mshafiq235。 关于src自动添加到视频标签的建议很棒!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”事件进行细致...

#31772020年12月9日作者 anatoli-dp3 个回答
0 个反应

问题/功能请求:更改所选组件工具提示

通过API有没有办法更改所选组件工具提示,还是只能通过编辑源代码来实现?如果是关于API的,请多包涵,因为我不够聪明,无法有效更改源代码,每次尝试做其他修改时,使用修改后的框架都会出错。如果没有,请把这个功能加到一个新功能里,因为这对某些自定义公司来说会非常有用。

artf

你好,当你定义一个新组件时,可以自定义它的工具栏 “''js ... 型号:{ 默认值:{ ... 工具栏:[ { 属性: { 类别: 'fa fa-arrow-up', 命令: () => alert('Hi') }, ... ], } } 但不会被存储(比如页面刷新),所以我总是建议更多地以组件为导向思考。

anatoli-dp

谢谢,这对我想添加的一些内容帮助很大 使用。 2020年12月29日星期二下午1:01 Artur Arseniev <[email protected]> 写道: 关闭了#3177 <https://github.com/artf/grapesjs/issues/3177>。 — 你收到这个帖子是因为你写了这个帖子。 直接回复此邮件,请访问GitHub查看 <https://github.com/artf/grapesjs/issues/3177#event...

ClaudeCode

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

#31682020年12月6日作者 oleteacher3 个回答
0 个反应

FEAT:下载/导出图片——喜欢在课堂项目中使用

你想给GrapesJS添加什么? 能够导出图片/图片文件夹的压缩包下载 详细描述你的功能需求详细 GrapeJS 是一个极好的工具,小学生可以用来创建自己的关于我页面。 不确定在压缩包下载中添加图片文件夹的功能有多难。请看CSS被导出。但IMG文件夹不行。 看了grapesjs-plugin-export / index.js,发现它在哪里添加了CSS,但我的JS水平不够好,无法添加图片导出。 提前感谢您的时间!

artf

你好@oleteacher,由于浏览器的安全限制(例如图片是从其他域名下载时),这样做并不完全可行。你需要一个服务器进程帮你生成图像。

oleteacher

是的,我们有教室本地服务器。我们没有自己的IT支持来帮忙处理这些问题,学校规模非常小 抱歉打扰你了。

ClaudeCode

谢谢你举报,@oleteacher。 关于FEAT:下载/导出图片——很喜欢在课堂项目中使用的好建议!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“cha...

浏览所有主题