GrapesJS 问题

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

找到 545 个问题

🔍 typescript
#50092023年3月24日作者 Drive4ik2 个回答
0 个反应

如果有 @import 的样式解析错误

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 仅Firefox(所有版本)可复制演示链接 https://jsfiddle.net/03m6jz5f/描述一下那个虫子 如何复现这个漏洞?清除浏览器缓存尝试导入带有样式标签的模板,该模板带有@import字体 URL 预期的行为是什么? 样式需要加载时没有 JS 错误 目前的行为是什么? GJS 不等样式加载,尝试解析“null”表(JS 错误)。请看截图: ![изображение](https://user-images.githubusercontent.com/7843031/227580073-de78605e-dc69-495f-8705...

artf

GrapesJS 解析器目前无法异步,这也没法修复,但无论如何,从性能角度来看,你绝不应该在 CSS 中使用“@import”,因为它会生成阻塞请求

ClaudeCode

谢谢你举报,@Drive4ik。 关于样式解析错误(如果有@import)的问题,这是个很好的问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log(...

#50032023年3月23日作者 ngoc1992 个回答
0 个反应

Chrome上的拖拽非常慢

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬111 可复制演示链接 https://jsfiddle.net/9zf4kd6e/——这是设计师模式的演示 描述一下那个虫子 如何复现这个漏洞?添加一个带有“dragMode”的绝对图像组件上传足够大的SVG图片。你可以使用[此图](https://freesvg.org/anime-girl-warrior)拖动图像拖动文本组件 预期的行为是什么?SVG图像在拖拽时不会被调整大小将SVG图像快速移动到正确位置当存在较大的SVG图像时,组件移动速度较快 目前的行为是什么?SVG图像在鼠标滑动后自动调整大小,紧跟光标位置。手动调整图像大小后,可以拖...

artf

@ngoc199我已经讨论了大部分关于绝对模式的问题[这里](https://github.com/GrapesJS/grapesjs/issues/3770#issuecomment-944915841)。我觉得调整大小的问题可以很容易地加入,但大型嵌入的SVG图片(默认情况下,没有外部资源存储,图片是内嵌的)看起来更像是浏览器的限制

ClaudeCode

谢谢你举报,@ngoc199。 关于Chrome上绝对拖拽速度极慢的问题很棒。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed')); 组...

#50002023年3月22日作者 applibs2 个回答
0 个反应

本地化的操作很奇怪

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬111 可复制演示链接 https://jsfiddle.net/zfkuq7sh/ 描述一下那个虫子 有些文本被翻译,有些则没有。有些翻译是我点击某个工具按钮后才翻译出来的。 比如顶部栏按钮Sestins。它是英文版,点击这个按钮后,它会被翻译成我的母语。 为什么?行为准则 [X] 我同意遵守本项目的行为准则

artf

@applibs如果没有提供有效且可复现的演示,我帮不上忙,请包含所有缺失的依赖。

ClaudeCode

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

#49982023年3月22日作者 glaprida4 个回答
0 个反应

ShowOffsetsSelected 不工作

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chome v111 可复制演示链接 https://codepen.io/glaprida/pen/YzOJOGq 描述一下那个虫子 如何复现这个漏洞?打开码笔链接。拖动任何基本的方块到画布上,并加点边距或填充。你会发现“showOffsets”按预期工作(当鼠标悬停未被选中的元素时)选择该元素可隐藏所有偏移量。即使你悬停选中元素的偏移量,它也不会显示。(“showOffsetsSelected”设置为true) 预期的行为是什么? 以便能够看到所选元素的偏移量。 目前的行为是什么? 它没有展示他们行为准则 [x] 我同意遵守本项目的行为准则

glaprida

你好,我看到现在即使选中了元素,悬停时也能正常工作(之前只对未被选中的元素有效) ...但它只在悬停时显示偏移量(我以为“showOffsetsSelected”即使没有悬停也会显示所选元素的偏移量) 这是本意的行为吗? 有什么建议能让我在选中元素没有被悬停时看到它的偏移量吗? 非常感谢!

artf

是的,目前这正是它的设计目的。也许有一天我们会重新考虑,让它更可定制(比如在Canvas上扩展/创建样式处理器的能力)。

glaprida

你好,抱歉一直坚持......但你能想到有什么办法能实现这个目标吗? 我需要的是显示所选元素的偏移量,无论它是否悬停。

#49912023年3月21日作者 glaprida1 个回答
0 个反应

拖拽display:grid元素时出现错误的占位标记

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome v111可复制演示链接 https://codepen.io/glaprida/pen/eYLLXbQ描述一下那个虫子 如何复现这个漏洞?访问codepen链接 https://codepen.io/glaprida/pen/eYLLXbQ拖拽一个部分到画布上再拖一个当你在前两个中间拖动第三个时,你会看到拖拽占位符是竖直的,而不是横的 第二部分也有类似情况,只是第三部分更明显。 第一段(身体空时)则不会发生这种情况。 预期的行为是什么? 需要一个横向占位符 目前的行为是什么? 它显示了一个竖直的占位符 问题和 https://github....

ClaudeCode

谢谢你举报,@glaprida。 关于拖拽display:grid元素时使用错误占位标记的问题非常好。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('some...

#49622023年3月7日作者 himansh-gjr1 个回答
0 个反应

文档中的链接断裂

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 任何 可复制演示链接 不 描述一下那个虫子 我相信文档中许多“配置对象”的链接仍然是指向JavaScript文件,但代码已经更新为typescript <img width=“1437” alt=“截图 2023-03-07 上午10 44 05” src=“https://user-images.githubusercontent.com/77732259/223326934-2d937ef8-b227-468e-b327-cd278add16c3.png”>行为准则 [X] 我同意遵守本项目的行为准则

ClaudeCode

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

#49472023年2月27日作者 FaisalShaikhHA4 个回答
2 个反应

撤销管理器在撤销移除操作时无法正常工作

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome - 版本 110.0.5481.100(官方构建)(arm64)可复制演示链接 https://codepen.io/faisal-praella/pen/ExeNwxJ描述一下那个虫子我添加了一个自定义的columns组件,带有编号特征名称columns,用于添加或移除子组件列。当我用该特性添加新列并撤销更改时,效果正常,但当我移除列并撤销更改时,会多加一列。这可能是因为当Grapesjs撤销移除更改时,它会附加已移除的列并还原列特征,但该列特征的更改触发了“this.listenTo(this, ”change:columns“, th...

artf

是的,撤销会触发“change:columns”,在你的情况下,你可以尝试用“editor”封装你的“updateColumns”更改。UndoManager.skip'。 “''js updateColumns() { 编辑。UndoManager.skip(() => { 你的行动 }) } ```

artf

好的,那我就关闭这个,请打开一个与复选框特性相关的新漏洞问题。

FaisalShaikhHA

谢谢你,@artf它有效,为了解决这个问题,我之前通过听“撤销命令”和“运行事件”来切换特质更改监听器,但这样感觉更干净了。 复选框特性在撤销/重做时未被勾选或取消勾选(我这边的特征值会更新)。可在Grapesjs网页[demo](https://grapesjs.com/demo.html)上复现。这里也需要帮助,再次感谢。 https://user-images.githubusercontent.com/102785785/224402423-fd04268a-896...

#49402023年2月21日作者 mani-rai2 个回答
0 个反应

销毁并重新初始化时,会出现“无法读取未定义属性(读取'get')”。

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Google Chrome 版本 110.0.5481.100(官方版本)(64 位) 可复制演示链接 https://stackblitz.com/edit/js-3urscf?file=index.html,index.js 描述一下那个虫子 如何复现这个漏洞?初始化编辑器销毁编辑器再次初始化编辑器 预期的行为是什么? 使用的代码只是官方文档中的入门代码。它应该可以毫无问题地重新初始化。 目前的行为是什么? 控制台上显示多个错误。类型错误:无法读取未定义的属性(读取“get”) at o.runDefault (Editor.ts:874:28)...

artf

是的,由于某些延迟异步函数(例如StorageManager),编辑器实例预计不会立即被销毁,但这可以修复。 目前你可以通过这样做来解决这个问题: “''js setTimeout(() => { editor.destroy(); ... ```

ClaudeCode

谢谢你举报,@mani-rai。 关于销毁和重新初始化会产生“无法读取未定义属性(读作'get')”的好问题。ProseMirror 推荐的方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.l...

#49222023年2月11日作者 clonefunnels2 个回答
0 个反应

使用这里提供的!重要代码会破坏背景图像和渐变。

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Firefox 可复制演示链接 https://jsfiddle.net/jLgb0mv3/1/ 描述一下那个虫子 如何复现这个漏洞?...把这个代码放进编辑器: editor.on('styleable:change', (model, property) => { const value = model.getStyle()[property]; 如果 (value.indexOf('!important') === -1) { model.addStyle({ [property]: value + ' !important' }); } })...

artf

我只看到“复合”/“堆栈”样式管理器属性的问题,因为并非所有样式管理器属性都包含在样式中,所以在你的代码中,你只需要检查样式的值是否真实存在,比如说,'如果 (value && value.indexOf('!important') === -1) {...'

ClaudeCode

谢谢你举报,@clonefunnels。 关于使用这里提供的!重要代码会破坏背景图像和渐变,问题非常好。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.lo...

#49192023年2月8日作者 maliuta-oleksandr2 个回答
0 个反应

调用 destroy 方法会破坏编辑器(React 应用)

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 109.0.5414.119 可复制演示链接 描述一下那个虫子 如何复现这个漏洞?将事件监听器添加到外部点击调用销毁方法 预期的行为是什么?无错误销毁 目前的行为是什么? 解析器未定义,但它尝试调用其方法。 未捕获(在promise中)类型错误:无法读取未定义属性(读取“parseHtml”) 呼叫堆栈: 行为准则 [X] 我同意遵守本项目的行为准则

artf

你能提供一个可复现的演示吗?因为我这边无法复现。

ClaudeCode

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

浏览所有主题