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

GrapesJS 问题

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

找到 3,464 个问题

#59372024年6月10日作者 nimisha7443 个回答
0 个反应

图片发送至邮寄

GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? 镀铬可复制演示链接 https://grapesjs.com/demo-newsletter-editor.html https://prnt.sc/SyoEBQMUJbO8描述一下那个虫子 如何复现这个漏洞? 我正在制作PRAPES JS通讯演示版的演示,并处理HTML并发送邮件 预期的行为是什么? 我想用那个模板发送图片,然后通过邮件传递。就像这是我的演示 => https://prnt.sc/iTHa6Bg0IfRr 目前的行为是什么? 现在在演示视图里,图片看起来还不错,但当我发送邮件时,图片无法工作,IMG标签中也没有传递SRC 我收...

artf

@nimisha744该仓库中的问题仅针对核心框架相关的漏洞,演示只是为了展示框架能力。

nimisha744

你能帮我拿到这个代码吗?https://prnt.sc/qAb-i9M5c6SF 顺便说一句,我现在只收到 HTML let html = editor.getHtml();另外请提供通讯的选项 图片和侧边栏里我看到的是名字,不是图标,请分享选项配置 那种环境 2024年6月10日星期一 下午5:58 Artur Arseniev @.> 写道: 这个仓库里> @nimisha744 <https://github.com/nimisha744>问题只有核心框架相关的漏洞,...

GJS Helper

你遇到的问题是,图片在 GrapesJS 编辑器中显示正确,但在发送的邮件中显示 src="" 或加载失败,这是处理HTML邮件模板时非常常见的问题。根本原因在于邮件客户端如何处理图片源。 根本原因:电子邮件中的图片需要绝对且公开可访问的网址 与能够解析相对路径或访问本地文件的网页浏览器不同,电子邮件客户端在不同的环境中工作。它们不能: 访问本地文件: 如果你的图片 src 指向本地机器上的文件(例如 file:///C:/Users/YourUser/image.jpg)...

#59292024年6月6日作者 mcnika2 个回答
0 个反应

GrapesJS 未能将样式应用到 wrapper

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 版本 125.0.6422.141 可复制演示链接 无 描述一下那个虫子 在为存储管理器设置以下配置时: 'storageManager: { 自动保存:错误, 自动加载:错误, } 封装样式(背景色、图片......)消失,只得到这个: '<正体样式=“框大小:边框;边距:0;”> ... 行为准则 [X] 我同意遵守本项目的行为准则

artf

可复现的演示是提交bug报告的必不可少。

GJS Helper

当storageManager.autoload在GrapesJS中设置为false时,编辑器会明确避免加载之前保存的项目数据,包括应用到包装器上的样式(通常默认是<body>元素)。这意味着GrapesJS从一个最小的、未样式化的<body>元素开始,正如你所观察到的,因为它没有从存储中检索任何自定义样式。 这不是个bug,而是禁用autoload时预期的行为。如果你想在autoload: false时包装上显示特定样式(如背景色、图片等),必须在编辑器初始化时明确提供这...

#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),它实际上创建了一个覆盖整个浏览器视口...

浏览所有主题