#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,我很快🙇 ♂️会修好的
GJS Helper
感谢你报告这个问题。你正确地识别了 GrapesJS 文档网站上的一个漏洞。 根本原因: {REPLACEEVENTS} 占位符表明文档生成过程未能正确注入编辑器事件列表到 editor.html API 页面。这是文档生成器的构建时问题,而非 GrapesJS 库本身的漏洞。 当前状态: 我们承认本部分文档不完整,使用户难以发现所有可用的编辑事件。 寻找编辑活动的变通方法: 在文档修复过程中,你可以通过几种方法发现编辑器事件: *通过 editor.on(''):程序化...
#64252025年2月27日作者 asabryil1 个回答
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 所有浏览器,最新版本 可复制演示链接 可在官方演示中复刻 描述一下那个虫子 如何复现这个漏洞? 添加一个方块,将高度和最小高度设为0 添加一个法线块 添加一个容器 尝试把高度为0的块直接放到容器上,它会移除或重复一些组件,在某些情况下,0高度块无法上下拖拽。 预期的行为是什么? 拖动方块不应该取决于元素的高度。 目前的行为是什么? 拖拽方块取决于元素的高度,且必须大于0才能正常工作。 行为准则 [x] 我同意遵守本项目的行为准则
GJS Helper
这是GrapesJS中已知的行为,与其拖放系统(通常依赖视觉边界框)与零高度元素的交互有关。理想情况下,拖放机制应足够稳健,能够处理元素,无论其视觉尺寸如何,但height: 0(和min-height: 0)状态可能导致计算投放区和拖拽指示器位置时出现问题。 根本原因 GrapesJS拖放功能,像许多类似系统一样,依赖于准确确定DOM中元素的视觉边界和可用空间。当元素具有height: 0和min-height: 0时,其垂直维度完全崩溃。这使得拖放逻辑难以实现: 计算投...
#64222025年2月27日作者 sumasal2 个回答
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 截至2025年2月27日,Chrome 133 带开发分支 可复制演示链接 克隆开发仓库截至2025年2月27日 描述一下那个虫子 如何复现这个漏洞? ...克隆仓库,构建并开始 ...在演示页面点击进入预览模式,尝试拖动组件。它是全编辑模式,画布会以半编辑模式运行,直到用预览按钮回收 预期的行为是什么? ...编辑模式下不应禁用拖曳或任何编辑功能 目前的行为是什么? ... 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js 你的代码在这里 ``` 行为准则 [x] 我同意遵守本项目的行为准则
GJS Helper
看起来你发现了GrapesJS dev分支中的一个bug,即即使编辑器处于预览模式,组件拖拽仍然可能。这确实与预期行为相反,因为预览模式应禁用所有编辑操作,包括拖动、调整大小和选择组件,以提供真正的只读视图。 预期行为 当调用editor.setPreview(true)时,GrapesJS设计为切换为非交互模式。这通常包括: 隐藏编辑器面板和工具栏。 禁用组件选择和高亮功能。 防止所有组件的拖放操作。 禁用调整尺寸的把手。 根本原因(假说) 虽然editor.setPre...
#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...
GJS Helper
你在GrapesJS中遇到的日语输入问题,即所选条目不可见且额外返回,这是依赖contenteditable和输入法编辑器(IME)的富文本编辑器中常见的问题,比如GrapesJS默认RTE使用的ProseMirror。这通常是由于IME合成阶段事件处理冲突所致。 根本原因 在输入日语(或其他需要IME的语言)时,输入会经历一个“组合”阶段,字符被组合并建议。Enter键通常用于确认IME自动建议框中选中的建议。该错误的根本原因是GrapesJS的底层富文本编辑器Prose...
#64162025年2月22日作者 clonefunnels2 个回答
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Firefox 和 Chrome 可复制演示链接 我无法做远程存储的演示 描述一下那个虫子 导入任何标签旁边带有“>”的标签> 示例:'<a href=“#”>></a>' 还有类似的情况: '<a href=“#”>首页</a> > <a href=“#”>商店</a>>' 这也破坏了它...... '<span class=“test”>主页</span> > <span class=“test2”>购物</span>>' 存在时,尤其是靠近 HTML 标签,GrapesJS 显示“未定义”且无法加载内容的问题,表明 GrapesJS内部的 HTML 解析或组件转换逻辑存在问题。 根本原因分析 GrapesJS依赖HTML解析器(通常在浏览器中DOMParser)将原始HTML字符串转换为其内部组件模型。虽然DOMParser本身在处理HTML实体方面通常较为稳健,但问题很可能出现在GrapesJS后续将解析后的DOM节点处理成...
#64092025年2月18日作者 Shuja-Mahmood4 个回答
GrapesJS版本 [x] 我确认使用最新版本GrapesJS 你用的是什么浏览器? Chrome v133 可复制演示链接 https://jsfiddle.net/2hjdrb7L/1/ 描述一下那个虫子 如何复现这个漏洞? 使用grapesjs v0.22.x 初始化一个 grapesjs 编辑器,并使用 grapesjs-touch 插件 v0.1.1。 预期的行为是什么? 在移动端,使用工具栏的移动处理程序应该能像之前版本那样将组件移动到另一个位置。 [链接](https://jsfiddle.net/h1nzadq0/)用grapesjs v0.21.13演示,运行正常。 目前的行为是什么? 拖动组件时会出现下落指示...
federica-capobianco
你解决了吗?我也面临类似的问题
Shuja-Mahmood
问题在 v0.22.6 依然存在
#64072025年2月16日作者 gopukinapp2 个回答
GrapesJS 版本 [x] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 版本 133.0.6943.98 可复制演示链接 https://codesandbox.io/p/sandbox/loving-breeze-mdls43?file=%2Findex.js%3A77%2C6 描述一下那个虫子 我正在尝试给我的方块添加一些自定义 triats,但很遗憾我只能看到默认的 triats [id,title] 我的方块里有很少的 HTML 代码,但如果我移除所有 HTML 代码,只在组件属性里放一个字符串,比如 Hellow World,没有任何 html,triats 就会显示出来 行为准则 [x] 我同意遵守...
artf
你的组件有内部的“组件”,所以如果你选择其中一个,你会看到这些组件的特征,而不是“事件块”。 如果你正确选择“事件块”,你会看到你的特质。 <img width=“856” alt=“Image” src=“https://github.com/user-attachments/assets/a0913237-02f9-44f8-af51-6d151b618a37” /> 顺便说一句,这个 “''js this.view.el.querySelector(“[data-ev...
GJS Helper
你遇到的问题是,当自定义块的components属性包含复杂 HTML 但能加载简单字符串时,自定义特征不会加载,这是与 GrapesJS 解析和管理组件结构相关的已知行为,尤其是在处理 components 属性作为原始 HTML 字符串时。 根本原因 当你用一个原始HTML字符串定义组件的components属性,导致多个子元素(例如<h2>...</h2><p>...</p>),GrapesJS会将该字符串解析成子组件的树。在这种情况下,你的event-block组件...
#63942025年2月1日作者 spyjo1 个回答
GrapesJS 版本 [x] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Safari 18.3 Macos 14.7.3 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞? 在右侧面板打开图层管理器 尝试隐藏“身体”,或者打开它 或者点击一个元素,图层显示在图层管理器列表中,然后尝试隐藏/打开/拖动 预期的行为是什么? 隐藏、拖拽或打开图层的图标应该会出现 目前的行为是什么? 没有图标显示,拖曳也没用 下面是Safari上的截图: <img width=“760” alt=“Image” src=“https://github.com/user-a...
GJS Helper
看起来你遇到了Safari特有的渲染问题,特别是它处理flexbox布局以及可能的图标字体的方式。GrapesJS图层管理器使用Flexbox结构来管理图层物品,Safari有时会误解或折叠这些布局中的元素,导致图标缺失和拖拽手柄失效。 根本原因 该bug的主要原因通常与Safari对flexbox属性的独特解释有关,特别是Flex item的flex-shrink和min-width计算方式。在GrapesJS图层管理器中,.gjs-layer-item-actions容...
#63762025年1月18日作者 Harshsne261 个回答
GrapesJS 版本 [x] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://codepen.io/Harshsne/pen/ZYzjaYe 描述一下那个虫子 预期的行为是什么? 当最小值设为1时,边框宽度应从1开始递增。 目前的行为是什么? 但边界宽度的值默认设置为0。(如果是这种情况,可以做什么,将默认值设为“”,并且当我递增时,值应从1开始。) 行为准则 [x] 我同意遵守本项目的行为准则
GJS Helper
你遇到的 min 值不影响 border-width 0 初始显示的问题是常见的混淆点。GrapesJS 风格管理器中的 min 属性主要影响步进/滑块控制和验证,防止值低于指定最小值。它本身并不决定样式属性的初始值或默认值“,尤其是当该属性浏览器默认值为 0(比如 border-width)。 让我们拆解实现你期望行为的解决方案。 根本原因 当组件被添加到画布时,其样式最初是空的。随后应用浏览器的默认样式,意味着border-width实际上会被0(或medium,在许多...
#63742025年1月17日作者 Harshsne262 个回答
GrapesJS 版本 [x] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://codepen.io/Harshsne/pen/gbYjOWO 描述一下那个虫子 如何复现这个漏洞? 我已经在单击下调用了 onactive,这样我就能在一键内编辑文本框。 光标应该放在我点击的位置,这也是双击事件中发生的情况(双击变成单点击时预期的效果)。 预期的行为是什么? ...光标应该放在我点击的位置 目前的行为是什么? ...光标指向文本框的起始位置  => { component.view.onActive(ev); });
GJS Helper
谢谢你举报,@Harshsne26。 关于光标位置错误的好问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed')); 组...