GrapesJS 问题

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

找到 3,464 个问题

#44342022年7月10日作者 Singwai2 个回答
1 个反应

CSS 解析器的 shape 不允许 CSS 属性被定义超过一次。

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 任何可复制演示链接 https://grapesjs.com/demo.html描述一下那个虫子 这个漏洞和“ParserCss.js”有关。 https://github.com/artf/grapesjs/blob/dev/src/parser/model/ParserCss.js#L7-L8 解析器期望结果存储在包含select字符串和样式哈希对象(以及其他媒体查询参数)的哈希对象数组中。示例结果: “''js [ { 选择:“div, a, .a.b.c”,//带有逗号分隔符的某个选择器。 风格:{ 背景图片:URL(img/gradient.p...

artf

是的,目前我们不支持这类情况,但我觉得处理这些情况可能会更好。

ClaudeCode

谢谢你举报,@Singwai。 CSS 解析器形状的问题不允许 CSS 属性被定义超过一次。 似乎是一个竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这...

#44322022年7月9日作者 booellean2 个回答
0 个反应

撤销管理器在自定义命令中创建重复CSS

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 103.0.5060.66(官方构建)(64位)(同级:稳定版) 可复制演示链接 https://codesandbox.io/s/cranky-morning-fh5diz?file=/index.js 描述一下那个虫子 如何复现这个漏洞?将自定义块“图片”放入画面并调整大小。查看标记预览,你会看到CSS中有两个带有重复标记的ID(图片ID和img ID)“撤销”直到再次调整大小查看标记预览,现在 CSS 标记的 ID 与图片元素重复,阻止了进一步的样式 预期的行为是什么? “图片”元素依赖于 CSS 样式化的 'img' 标签,以确保尺寸正确显示...

artf

我不太确定具体发生了什么,但我建议切换到“styleable:change”事件,并将其选项传递给“setStyle”,比如说, “''js Editor.ON(“styleable:change”, (model, prop, opts) => { let component = editor.getSelected(); 如果(分量?.attributes.styleShared) { let child = component.attributes.component...

ClaudeCode

谢谢你举报,@booellean。 关于撤销管理器在自定义命令中创建重复CSS的问题非常好。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('som...

#44222022年7月4日作者 m-jojo-s1 个回答
0 个反应

无法在触摸中移动可编辑的文本光标

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 版本 102.0.5005.115(官方版本)(arm64) 可复制演示链接 https://jsfiddle.net/zeq457u0/ 描述一下那个虫子 如何复现这个漏洞?加载编辑器并启用触摸支持双击进入文本内容编辑模式回到启用触摸支持后,尝试点击鼠标移动光标 预期的行为是什么? 光标应放在触点 目前的行为是什么? 触控没有变化,只能通过触控拖动、鼠标点击(无触控)或方向键来操作 可能相关问题 #2244 #1649 如果修复需要时间,欢迎任何建议让我能解决问题,我会申请永久注册 行为准则 [X] 我同意遵守本项目的行为准则

ClaudeCode

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

#44162022年6月29日作者 bimsina2 个回答
0 个反应

无法用模板文字解析特征值(字符串插值)

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v103.0.5060.53 可复制演示链接 https://codesandbox.io/s/grapes-js-template-literal-1p7sx2?file=/src/App.js 描述一下那个虫子 如何复现这个漏洞?添加带有自定义特征的新类型用以下方式解析性状值 “''js var inputName = “{[ firstName ]}”; 预期的行为是什么? 两者都应该显示从组件设置面板输入的特性值。 目前的行为是什么? 看起来特征值只能用第一种方式解析,通过字符串插值解析会得到{[ firstName ]},而不...

artf

抱歉,这不是bug,只是不是这样运作的。 无论如何,请务必查看最新的文档 https://grapesjs.com/docs/modules/Components-js.html#passing-properties-to-scripts 因为这种传递属性的方法多年前就被淘汰了。

ClaudeCode

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

#44132022年6月27日作者 YaseenHajajweh2 个回答
1 个反应

StyleManager.addProperty , 类型: 'select' , 无法读取未定义属性(读取“replace”)

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome 版本 103.0.5060.53(官方版本)(x86_64)可复制演示链接 私人项目描述一下那个虫子 我正在尝试将属性添加到我的自定义扇区,以及属性类型(选择),建造器准备好后我遇到了这个错误 无法读取未定义的属性(读作“替换”) 行为准则[X] 我同意遵守本项目的行为准则

YaseenHajajweh

@artf,抱歉我找到了解决办法

ClaudeCode

谢谢你举报,@YaseenHajajweh。 StyleManager.addProperty , 类型: 'select' , Cannot read undefined properties(读作'replace') 的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0...

#44112022年6月27日作者 zgeist4 个回答
2 个反应

XSS在选择器管理器中添加类名时

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v102 可复制演示链接 https://jsfiddle.net/szLp8h4n 描述一下那个虫子 如何复现这个漏洞?选择任意组件在选择器管理器中添加类名,比如“<a href=”#“onclick='alert(123)'>check</a>'点击职业名称后,你收到了提示 预期的行为是什么? 类别名称应避免使用 目前的行为是什么? 类名中的JavaScript运行 需要在模板 https://github.com/artf/grapesjs/blob/dev/src/selector_manager/view/ClassTagVi...

artf

感谢你的报告,下次版本会修复。

Rawne

我还遇到了这个XSS的bug。例如,在组件的类中添加“><img src=x onerror=alert('XSS')>',它也会弹出。

zgeist

非常感谢!

#44012022年6月21日作者 m-jojo-s1 个回答
0 个反应

调整大小不适用于触摸——拖拽属性未在处理器上设置

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 版本 102.0.5005.115(官方版本)(arm64) 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?启用触控操作的演示添加图片使用启用触摸的缩小手柄调整图像大小 预期的行为是什么? 图像恢复正常大小 目前的行为是什么? 什么都没发生 可能的解决办法: 据我了解,调整尺寸是通过HTML的可拖拽属性来工作的。通过开发工具在调整尺寸的处理程序中设置“draggable=”true“,实际上就能正常工作。也许这就是缺少的全部? 行为准则 [X] 我同意遵守本项目的行为准则

ClaudeCode

谢谢你报告,@m-jojo-s。 关于调整尺寸不支持触摸——拖拽属性未在handlers上设置,这个问题问得很好。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log...

#44002022年6月21日作者 shelendravashishtha23 个回答
1 个反应

Bootstrap 旋转木马滑块无法工作

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 无链接 描述一下那个虫子 如何复现这个漏洞?...在 GrapesJS init 函数中添加 Bootstrap...根据 Bootstrap 文档添加滑块组件...滑块只显示第一张图片,图片不会变化 预期的行为是什么? ...滑块应该从第一张图片开始,动画直到最后一张图片 目前的行为是什么? ...滑块只显示第一张活跃图像,然后什么都没发生 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js 我使用的HTML是 <div data-gjs-highlightable=“true” id=“c7551f9a8-732...

artf

抱歉,问题追踪器主要是针对核心 Grapesjs 模块中的 bug,我认为在这种情况下你应该实例化“bootstrap”。通过 JS 手动“Carousel”(例如用 JS](https://grapesjs.com/docs/modules/Components-js.html)创建 [自定义组件“),因为编辑必须在内容加载前加载与画布相关的样式/脚本。

shelendravashishtha2

你好,亚瑟, 有没有办法在 Grapesjs 中获得屏幕大小的特定样式,比如基于媒体查询样式的不同样式?

ClaudeCode

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

#43882022年6月15日作者 ghost2 个回答
2 个反应

按钮特性命令无法使用

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 任何浏览器 可复制演示链接 https://jsfiddle.net/sohrabi2050/yrL2aqft/ 描述一下那个虫子 特征按钮命令在 v [v0.18.4](https://github.com/artf/grapesjs/releases/tag/v0.18.4)正常工作,但在 [v0.19.4](https://github.com/artf/grapesjs/releases/tag/v0.19.4)中则不行。 下面有两个示例,分别在Grapejs窗口中点击下方示例中的链接对象之一,然后参考特征选项,你会看到一个按钮,点击它,应该...

artf

谢谢@sohrabi2050下次发布时会修复。

ClaudeCode

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

#43862022年6月15日作者 contentfree2 个回答
0 个反应

CanvasView.getPosition 在设计模式下用窄设备返回奇怪的值

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 版本 102.0.5005.61 可复制演示链接 https://jsfiddle.net/tLvwfhu3/ 描述一下那个虫子 从演示小提琴开始,把一个文字块放进狭窄的画布里。会弹出一个提醒,显示 CanvasView.getPosition() 包含这些奇怪值的结果。看起来“左边”或“宽度”值都错了,因为“左边”是可见画布的左边边缘,但宽度包含了画布两侧的所有空白边距。 我认为这导致了在编辑器设计模式下初始组件定位时出现的一些问题。Canvas.getMouseRelativeCanvas 将左侧(和顶部值)添加到 clientX/Y 的值上。也...

artf

是的,我觉得确实很混淆(宽度和高度指的是画布,顶部和左边指框架),但任何对这些功能的直接更改都会破坏其他部分的功能,因为这些功能是基于这种复杂的逻辑😞构建的(比如标准模式中的方块排序器)。 所以我想在做任何改变之前,我们应该先重构其他观点的逻辑。 我可能会关闭这个问题,因为这个方法本身并没有公开或文档。

ClaudeCode

谢谢你举报,@contentfree。 CanvasView.getPosition 在设计模式下用窄设备返回奇怪值的问题,似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(Co...

浏览所有主题