#65622025年7月9日作者 jsxOverdose3 个回答
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 138.0.7204.101 可复制演示链接 https://jsfiddle.net/u3L89ejh/1/ 描述一下那个虫子 如何复现这个漏洞? 调整图像大小 把它拖到画布上的别处 点击其中一个小蓝色缩小方块 观看图像跳跃到不同位置 预期的行为是什么? 应该留在我放的地方 如果顶部/左/右/底部的值没有单位,则将值当作“px”来处理,而不是“%”。 目前的行为是什么? 当你移动图像时,上下两侧的像素值表现良好。 但你一碰到缩放按钮,它就会切换到“%”,然后突然跳到画布上全新的位置。 行为准则 [x] 我同意遵守本项目的行为准则
artf
@jsxOverdose推送了这次新版本的修复:https://github.com/GrapesJS/grapesjs/releases/tag/v0.22.11
jsxOverdose
@artf 在新版本中,还有另一个bug:当你点击Y轴上的缩放手柄时,图片会明显变大。这是试玩版:https://jsfiddle.net/du81zL6r/
ClaudeCode
谢谢你举报,@jsxOverdose。 关于调整尺寸时元素卡扣位置错误的好问题。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something chang...
#65492025年6月25日作者 yashvi20264 个回答
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://codepen.io/Harshsne/pen/YPXdgmj 描述一下那个虫子 如何复现这个漏洞? 上传图片 将其切换为移动视图 调整图像大小  预期的行为是什么? 在样式管理器中手动更改宽度和高度时,图片会被调整大小。 目前的行为是什么? 无法调整图片大小 原因是在Canvas中调整图像大小时不会添加重要,所以原始样式不会被覆盖。 行...
mosh-tudor
@yashvi2026 那是因为你用了自定义的CSS代码。 去除这一部分: “''js 样式:'.image{最大宽度:100%;@media(最大宽度:480px) {.image {display: inline-block;高度:自动 !重要;宽度:100% !重要;最大宽度:100%;}}, `` 来自“编辑部”。BlockManager.add('image', {'
artf
我确认组件调整现在没考虑“重要”,但我大致会按照@mosh-tudor的建议来做。 你不需要去掉所有“样式”,我猜你需要的就是这个,但我觉得没必要把“!important”放在上面。如果你需要“!important”,问题很可能出在图像组件之外。
yashvi2026
我需要在风格中使用'!important'。 我注意到在其他组件中,当默认样式中包含“!important”时,通过样式管理器添加的样式也会包含“!important”,以确保它们覆盖默认样式。  所以,当在样式管理器中手动更改样式时,会添加 !important。 同样地,调整组件大小时,样式也应该加上...
#65352025年6月6日作者 MikeCraig4183 个回答
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 把你的版本从 1.0.48 改到 1.0.47 描述一下那个虫子 如何复现这个漏洞? 从Word复制丰富的内容 将葡萄浆糊制成 我正在使用自架选项 预期的行为是什么? 内容应在编辑器中持续存在 目前的行为是什么? 内容错误 行为准则 [x] 我同意遵守本项目的行为准则
MikeCraig418
补充说明,Grapes 的 HTML 格式内容会消失。HTML存储字符串如下:
artf
你用的是什么富文本编辑器? 你能提供复现它的方法吗(比如我能复制相同的文本)?
ClaudeCode
谢谢你举报,@MikeCraig418。 关于BUG(v.0.48):粘贴丰富内容会把属性值拆分成单个属性,这个问题很棒。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console...
#65152025年5月13日作者 jsxOverdose2 个回答
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 136.0.7103.93 可复制演示链接 https://jsfiddle.net/L4pu0tzc/ 描述一下那个虫子 如何复现这个漏洞? 向编辑器添加多个图像元素。 为每张图像赋予相同的类名(例如,class=“shared-class”)。 选择并调整其中一张图片的大小。 预期的行为是什么? 只有选定的图片应该被调整大小,无论共享的类名或其他属性如何。 目前的行为是什么? 所有同类元素都会同时调整大小,即使只选中一个。 系统似乎在设置样式时优先考虑类名而非 ID,导致无意中出现全局样式更改。 行为准则 [x] 我同意遵守...
artf
确保开启此选项:https://grapesjs.com/docs/modules/Selectors.html#component-first-selectors
ClaudeCode
谢谢你举报,@jsxOverdose。 关于调整元素大小会影响所有同类元素的好问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('somethi...
#64942025年4月15日作者 yashvi20261 个回答
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://codepen.io/Harshsne/pen/QwwLjBQ 描述一下那个虫子 如何复现这个漏洞? 点击创建,然后快速且反复地摧毁。 调试时,我发现错误由以下代码引起: 未定义的“allcomponents”错误由:(editor.select 代码)引起。 未定义的“最后组件”错误: 将样式添加到组件会触发 stylable:change 事件,如果你的侧面函数仍在运行并且在此期间点击 Destroy,会报错。  寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something ch...
#64852025年4月10日作者 yashvi20262 个回答
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://codepen.io/Harshsne/pen/GgRbMyg 描述一下那个虫子 如何复现这个漏洞? 添加文本框。启用RTE。 点击最后一个选项。 变色 点击 好 预期的行为是什么? 重新打开颜色选择器时,选中的颜色应该是可见的。 目前的行为是什么? 重新打开选色器时,选中的颜色不会显示。  行为准则 [x] 我同意遵守本项目的行为准则
mosh-tudor
@yashvi2026 你的代码有很多问题,这就是它无法正常工作的原因。 这和GrapesJS无关。 如果你不确定问题出在哪里,可以考虑用AI工具检查代码。
ClaudeCode
谢谢你举报,@yashvi2026。 关于showSelectionPalette不能支持自定义色彩选择器,这个问题很棒。ProseMirror 推荐的方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => con...
#64462025年3月15日作者 brighterfrog2 个回答
描述 我想申请一个新的组件类型来处理交互式图表。 使用场景 在页面构建器中创建数据可视化 支持动态图表更新 与现有数据源的集成 预期行为 该组件应当: 支持多种图表类型(条形图、直线图、饼图) 允许通过组件面板输入数据 为图表元素提供样式选项 补充背景 这将增强GrapesJS的数据可视化能力。
artf
你好@brighterfrog我们只用GH Issues来报告错误。 请查看这些内容,了解我们如何管理功能请求和插件: [路线图流程](https://github.com/GrapesJS/grapesjs/discussions/5291) [插件推荐流程](https://github.com/GrapesJS/grapesjs/discussions/5985) 顺便说一句,你可能已经找到你想要的东西了:[GrapesJS Chartjs 插件](https://g...
ClaudeCode
谢谢你举报,@brighterfrog。 关于功能请求:添加新组件类型的好建议!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”事件进行细...
#64452025年3月14日作者 bgrand-ch3 个回答
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Firefox 136.0.1(64位) 可复制演示链接 https://grapesjs.com/docs/api/editor.html#editor 描述一下那个虫子 如何复现这个漏洞? 去 https://grapesjs.com/docs/api/editor.html#editor 预期的行为是什么? 展示活动列表。 目前的行为是什么? '{REPLACE_EVENTS}' 行为准则 [x] 我同意遵守本项目的行为准则
artf
文档更新:https://grapesjs.com/docs/api/editor.html#available-events
artf
谢谢@bgrand,我很快🙇 ♂️会修好的
ClaudeCode
谢谢你举报,@bgrand-ch。 关于医生网站缺少信息的好问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed'));...
#64252025年2月27日作者 asabryil1 个回答
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 所有浏览器,最新版本 可复制演示链接 可在官方演示中复刻 描述一下那个虫子 如何复现这个漏洞? 添加一个方块,将高度和最小高度设为0 添加一个法线块 添加一个容器 尝试把高度为0的块直接放到容器上,它会移除或重复一些组件,在某些情况下,0高度块无法上下拖拽。 预期的行为是什么? 拖动方块不应该取决于元素的高度。 目前的行为是什么? 拖拽方块取决于元素的高度,且必须大于0才能正常工作。 行为准则 [x] 我同意遵守本项目的行为准则
ClaudeCode
谢谢你举报,@asabryil。 关于拖拽高度为0的元素会导致意想不到的行为,这个问题很棒。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something change...
#64202025年2月25日作者 peterchon1 个回答
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 版本 133.0.6943.127(官方构建)(arm64) 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞? 创建文本块 开始输入任何日文字符 从自动建议浮动框中选择一条条目 预期的行为是什么? 所选条目应输入文本块 目前的行为是什么? 已输入“选择”条目但不可见,新的返回条目会加在文本块底部 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: 无 https://github.com/user-attachments/assets/3dd992d8-dc13...
ClaudeCode
谢谢你举报,@peterchon。 关于日语输入会增加空回文,这个问题很棒。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed...