PageKit — 可自托管的 GrapesJS 建站工具,附完整源码。 获取抢先体验

GrapesJS 问题

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

找到 743 个问题

🔍 bug
#59232024年5月31日作者 MarceloBD2 个回答
0 个反应

GrapeJs 有时在浏览器上加载不了

GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? Firefox 126.0.1可复制演示链接 https://grapesjs.com/demo.html描述一下那个虫子 如何复现这个漏洞?打开你的Firefox浏览器,进入演示链接 预期的行为是什么? 编辑器应该会显示一个带有组件的白色屏幕画布。应该可以拖拽组件到屏幕中。 目前的行为是什么? 编辑器是灰色的,且没有任何组件可见。无法拖放组件。点击图层菜单时会报错。 有时候它在匿名标签页上也加载不了,但有时会。非常奇怪的行为。我正在检查代码是否能解开它。 行为准则[X] 我同意遵守本项目的行为准则

nhan-nguyen-se

@MarceloBD 你是怎么解决这个问题的?我也遇到同样的问题。

GJS Helper

看起来你在GrapesJS中遇到了一个间歇性bug,特别是影响加载和Firefox图层面板。点击图层菜单时的TypeError: model is undefined是一个关键线索,指向编辑器初始化时存在的竞争条件。 根本原因解释 这种间歇性行为最可能的原因,是GrapesJS编辑器初始化过程中出现的竞赛条件。以下是详细说明: 组件模型加载:GrapesJS依赖其DomComponents模块管理画布上的所有组件(元素)。这些组件由骨干模型表示。 图层面板渲染:图层面板(L...

#59222024年5月30日作者 omerson-cruz2 个回答
0 个反应

Unable to use UI controls for the video component when

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? v125.0.6422.113(官方构建)(64位) 可复制演示链接 https://codesandbox.io/p/sandbox/eloquent-leaf-vd68cf?file=%2Findex.js%3A9%2C47 描述一下那个虫子 如何复现这个漏洞?将视频内容拖到画布上。 选择视频组件和角色设置/特征选择“YouTube”作为提供者粘贴YouTube源的视频ID。确保“控制”特性已启用尝试点击播放或调整视频分量的音量,但不起作用 预期的行为是什么? 预期:当 Video 的“控制”启用后,用户可以使用视频界面的控制,比如“播...

artf

编辑过程中你不能与iframe互动,否则就无法从画布中选择它。 不过预览时你会检查iframe的互动。

GJSBlock

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

#59142024年5月28日作者 viicslen2 个回答
0 个反应

包含遮罩和图像的SVG渲染不正确

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Microsoft Edge 125.0.2535.51 可复制演示链接 https://jsfiddle.net/szLp8h4n 描述一下那个虫子 预期的行为是什么? 编辑器应该在SVG标签内渲染图像和遮罩 目前的行为是什么? SVG组件没有可见内容行为准则 [X] 我同意遵守本项目的行为准则

artf

请提供一个有效且可复现的演示

GJS Helper

你遇到的问题是,使用内部url(#id)引用(如mask="url(#mask012)"或clip-path="url(#myClip)")的SVG元素在GrapesJS编辑器中无法正确渲染,这是浏览器在<iframe>上下文中解析这些引用时已知的行为。 根本原因 GrapesJS 在<iframe>中渲染画布,以将编辑者的样式和脚本与主页隔离开来。当 SVG 被放置在该 iframe 中时,url(#id)引用相对于<iframe>的文档基 URI 进行了解析。通常,Gr...

#59052024年5月24日作者 gladykov2 个回答
0 个反应

点击组件再点击“块”后,无法再次打开组件设置

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Opera 10.0.5130.23 |Linux 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 透明帆布从方块菜单中添加 1 Column 组件 -> Settings 标签会自动打开 :ok_hand: 点击编辑器框内新添加的组件进入 Blocks 标签页再次点击组件 预期: 设置再次打开 实际情况: 设置未打开。 注意:我理解当组件之前未被选中时,这个功能正常工作。通过添加两个组件来验证这个行为很容易。但它会引入两种不同的行为,取决于之前的用户操作。我预计点击组件总是会打开 Setti...

artf

谢谢@gladykov,但这和核心无关,只是演示中实现的一个示例行为。

GJS Helper

这是关于GrapesJS用户体验的一个有效观察。你描述的行为不是功能失效的bug,而是用户体验上的不一致,点击已选中的组件后,如果用户手动切换到另一个面板(比如“块”),“设置”面板并不总是能重新激活。 根本原因 当组件最初添加或选择时,GrapesJS通常会激活“设置”或“样式管理器”面板。然而,如果组件已选中,用户随后手动导航到另一个面板(例如“块”、“图层”),GrapesJS会记住上一个激活面板。再次点击同一个已选中组件不会触发通常会强制面板切换回“设置”的“选择变...

#58982024年5月22日作者 afrinxnahar1 个回答
0 个反应

资产管理链接断裂

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 火狐 可复制演示链接 https://grapesjs.com/docs/modules/Assets.html#initialization 描述一下那个虫子 如何复现这个漏洞?访问 https://grapesjs.com/docs/modules/Assets.html#initialization点击下方截图所示的链接 ![grapesjs2](https://github.com/GrapesJS/grapesjs/资产/125039325/b1dbd167-16b2-4bbb-b4fe-0f1eaf3db3be) 该页面重定向至...

GJS Helper

感谢你报告这个问题。你正确地识别了资产管理公司GrapesJS文档中的一个断链。 根本原因: AssetImage.ts文档中提供的链接错误地指向了GrapesJS仓库的dev分支。虽然文件路径src/assetmanager/model/AssetImage.ts正确,但dev分支要么不存在,要么不包含该路径的文件,导致GitHub上出现了404页面。 预期行为与修复: 链接应指向master分支,即AssetImage.ts文件所在的主分支。 链接断裂(文档中): ht...

#58912024年5月17日作者 shapley2 个回答
0 个反应

在Ubuntu 24.04 LTS上安装Grapesjs和yarn

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Firefox 125.0.3,Brave 1.66.110 可复制演示链接 https://jsfiddle.net/szLp8h4n 描述一下那个虫子 按照“git”指令在终端执行“yarn start”时安装 Grapesjs : ~$ sudo apt install Nodejs NPM ~$ sudo apt install curl gnupg -y ~$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg |sudo apt-key add - 回声“Deb https://d...

artf

谢谢@shapley,这其实和GrapesJS甚至Yarn没什么关系,你得[增加文件系统监视者](https://stackoverflow.com/a/65347277)。

GJS Helper

你遇到的ENOSPC: System limit for number of file watchers reached错误是Linux系统(包括Ubuntu 24.04 LTS)在处理包含大量文件的大型项目时常见的问题,比如带有nodemodules目录的GrapesJS仓库。这不是GrapesJS或Yarn特有的bug,而是操作系统的限制。 根本原因: 你的操作系统对inotify子系统可以监控的文件和目录数量有默认限制。开发工具如Webpack、Sass和chokid...

#58882024年5月16日作者 Dobby852 个回答
1 个反应

即使将可编辑属性设置为true,也无法编辑组件内容

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome V124 可复制演示链接 https://jsfiddle.net/ycvz2gno/7/ 描述一下那个虫子 如何复现这个漏洞?在画布中放置文本块双击文本块内的内容内容不可编辑 预期的行为是什么? 它应该能打开RTE,这样我们就能编辑组件内的文本 目前的行为是什么? 什么都没发生,组件无法编辑 ```行为准则 [X] 我同意遵守本项目的行为准则

Dobby85

通过查看代码,我发现要获得 RTE 功能,我们的新组件必须扩展“ComponentTextView”。 我最初的问题是我做了类似的事情: 而且它采用了我的“基础结构”视图,而不是“文本”组件。我会尝试找个变通办法,不扩展我的“baseStructure”视图。

GJS Helper

你遇到的问题是,通过fromElement: true加载的文本组件无法编辑,即使HTML里有data-gjs-type="text"和editable="true",这其实是GrapesJS在初始化时处理现有DOM元素的方式。 根本原因 当GrapesJS用fromElement: true初始化时,它会解析你容器内已有的HTML(你是#gjs),并将其转换为内部组件模型。虽然它正确识别了带有data-gjs-type="text"的元素并创建了对应的GrapesJS文本...

#58852024年5月14日作者 vincepv3 个回答
1 个反应

在全屏模式下,颜色选择器是隐藏的

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Firefoxe 125.0.3(64位) 可复制演示链接 https://grapesjs.com/demo-newsletter-editor.html 描述一下那个虫子 如何复现这个漏洞?安装最新版本的 grapejs点击全屏选择带有颜色属性的文本或块点击开放样式管理器点击色彩选择器 ![grapesColor](https://github.com/GrapesJS/grapesjs/资产/26679806/3349a2ba-abb2-4d87-aa69-e7c7a00eb7ad) 你可以在这里转载:[https://grapesj...

vincepv

问题解决了。 我找到了解决办法。 当我启动 grapejs 时,我会用 colorPicker 传递对象配置 const config = { 容器:“#editor”, fromElement: true, 其他配置选项在这里 colorPicker: { 附录:'父', 偏移:{ 顶部:26,左:-166, }, } }

artf

谢谢@vincepv,可能会因为编辑器容器的渲染方式和位置,全屏命令和颜色选择器的默认配置之间存在冲突。 在大多数情况下,只要把颜色选择器放在同一个编辑器容器里,它们就能正常工作。 “''js Grapesjs.init({ 容器:“#gjs”, colorPicker: { appendTo: '#gjs' }, // ... }) ```

GJS Helper

你遇到的问题是,当 GrapesJS 处于全屏模式下,颜色选择器被隐藏,这是与堆叠上下文和全屏元素渲染方式相关的常见问题。这不是颜色选择器本身的bug,而是不同元素在页面上叠加方式存在冲突。 根本原因 当 GrapesJS 进入全屏模式(默认情况下,它将 position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; 应用到主容器,通常为 #gjs),它实际上创建了一个覆盖整个浏览器视口...

#58822024年5月13日作者 Riddle10011 个回答
0 个反应

ID在更改后没有更新

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://jsfiddle.net/szLp8h4n 描述一下那个虫子 如何复现这个漏洞?创建方块点击它进入特质标签页设置新ID进入样式标签页查看身份未变(类别下) 要查看身份证,您必须:执行前述步骤方块失焦(例如点击身体)聚焦方块 预期的行为是什么? 让ID更新时无需重新聚焦 目前的行为是什么? 需要重新聚焦才能看到ID的变化 行为准则 [X] 我同意遵守本项目的行为准则

GJS Helper

这确实是GrapesJS中已知的同步问题,比如样式标签的选择器显示不会立即反映通过特性面板对组件ID所做的更改。你描述的行为是准确且可复现的。 根本原因 根本原因在于GrapesJS UI组件,特别是样式标签中的SelectorManager及其关联视图,如何对属性变化做出反应。当你通过Trait面板修改组件的ID时,底层组件模型的id属性会被更新。然而,负责显示活动选择器(包括ID选择器)的SelectorManager视图,不会在已选中组件的id属性变化时自动重新渲染或...

#58692024年5月7日作者 ajayagrahari092 个回答
0 个反应

图标和形状选项

GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? 铬可复制演示链接 测试描述一下那个虫子 我没看到任何显示图标或形状的方法行为准则[X] 我同意遵守本项目的行为准则

artf

如有疑问,请使用讨论面板。

GJS Helper

GrapesJS作为一个高度灵活且无偏见的框架,默认不包含内置的图标或形状集合。相反,它提供了强大的 API,可以集成任何外部库或创建自定义组件以实现这一点。这种方法允许你选择图标库(例如 Font Awesome、Material Icons)或最适合项目需求的形状样式。 下面,我们将介绍如何集成Font Awesome图标,并利用GrapesJS自定义组件和块创建基础形状组件。 1.添加图标(例如,字体超棒) 添加图标时,通常会按照以下步骤操作: 加载图标库:将你所选图...

浏览所有主题