#57852024年3月29日作者 bernesto3 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v122 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 这可能是刻意为之,但考虑到其意图,这似乎有些奇怪。 如何复现这个漏洞?点击预览(眼睛) 预期的行为是什么? 页面的浏览方式是终端用户看到的。所有管理标记都已从页面中移除。 目前的行为是什么? 除虚线外的所有管理标记都被移除。 在预览阶段,'.${ppfx}dashed '应从正文中移除,退出预览时启用后重新应用。行为准则 [X] 我同意遵守本项目的行为准则
artf
谢谢@bernesto演示方面其实还有更新要做。 我已经准备好了更改,下次发布时会修正。
ClaudeCode
谢谢你举报,@bernesto。 关于大纲在预览模式下依然存在,这个问题很棒。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed')); 组...
#57752024年3月26日作者 ctrhub2 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Arc 版本 1.35.0 / Chromium 引擎 123.0 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?开放开发工具选择一个组件主机运行: “JS const selectedComponent = editor.getSelected(); selectComponent.get('traits').clone(); 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js const selectedComponent = editor.getSelected(...
artf
如果你需要复制 traits,我建议简单地做这个操作:'JSON.parse(JSON.stringify(editor.getSelected().getTraits())'。 我不记得文档里提到过克隆特征,所以我建议避免使用非公开API。
ClaudeCode
谢谢你举报,@ctrhub。 关于component.get('traits').clone()已不再可用,这个问题非常好。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('...
#57682024年3月19日作者 rhoenerSBS1 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v122 可复制演示链接 不适用 描述一下那个虫子 GrapeJs 文档表明,可以在块的“content”属性中添加混合内容(见 https://grapesjs.com/docs/modules/Blocks.html#mixed)。但该属性的类型定义是“字符串 |组件定义“(参见 https://github.com/GrapesJS/grapesjs/blob/dev/src/block_manager/model/Block.ts#L17)。 这会导致 TypeScript 项目编译时出现错误。 如何复现这个漏洞?定义混合值的块...
ClaudeCode
谢谢你举报,@rhoenerSBS。 关于 BlockProperties 中“content”属性类型错误的好问题。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('som...
#57392024年3月11日作者 rhoenerSBS1 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v122 可复制演示链接 不适用 描述一下那个虫子 最新版本附带的ColorPicker界面定义了“preferredFormat”选项,期望获得“布尔值”,但Spectrum Colorpicker的文档显示必须是类型为“string”(文档:https://bgrins.github.io/spectrum/#options-preferredFormat) 这会导致 TypeScript 项目编译时出现错误。 如何复现这个漏洞?定义ColorPicker的“preferredFormat”选项,取自Spectrum文档中的值(即“...
ClaudeCode
谢谢你举报,@rhoenerSBS。 关于ColorPickerOptions界面中错误输入的好问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('some...
#57292024年3月8日作者 Sphenox4 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v122 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?开放演示创建带有链接的文本使用默认RTE编辑文本选择整个链接输入任意内容,以替换链接文本 预期的行为是什么? 当你输入某项内容时,它应该会继续在链接内写入。 你可以编辑只包含一个字符的链接文本。 目前的行为是什么? 目前链接内只写第一个字符。从第二个字符开始,光标不再出现在链接里,所以文字会直接插入链接之后。而且链接里只有一个角色,无法编辑,所以发生这种情况后你必须删除整个链接。行为准则 [X] 我同意遵守本项目的...
bernesto
@artf,你又说对了。节点的空白很重要。如果文本紧贴关闭节点,第一个按键替换文本,下一次按键离开节点,如果不对,则按预期工作。 有一个关于这个的旧帖子(https://github.com/w3c/editing/issues/1560 年),专门在webkit和blink里,讲它们是如何这样工作的。CKEditor 5的作者之一也在场,他基本上说你必须构建一个抽象层来修复这种行为,这对我们来说简直是麻烦。 @Sphenox我觉得这个问题很可能在之前的版本中也存在,从我读...
bernesto
澄清一下,你说的是链接中文本的选择和编辑异常表现吗? 
#57242024年3月8日作者 bernesto2 个回答
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome v122可复制演示链接 https://jsfiddle.net/zwo0mdqf/5/描述一下那个虫子 如何复现这个漏洞?创建有效的内联块元素,如span、b、i、em等,这些元素使用多个空格、制表符或换行符作为单词分隔符。 预期的行为是什么? 渲染时,这些元素应间隔一格。HTML导出空白应尊重输入空白。 目前的行为是什么? 这些元素在编辑器中作为独立组件呈现,但呈现为一个单词。输出HTML去除了输入空白。注意:组件HTML会在每个元素的新行中导出,因此显示的输出会正确渲染,但getHtml()则不会。行为准则[X] 我同意遵守本项目的行...
danstarns
最终倾向于合并提交。https://github.com/GrapesJS/grapesjs/pull/5719
ClaudeCode
谢谢你举报,@bernesto。 关于在线元素中空白处理的好问题。ProseMirror 推荐的方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed'...
#57202024年3月6日作者 bernesto2 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v122 可复制演示链接 https://jsfiddle.net/n38vbktg/ 描述一下那个虫子 如何复现这个漏洞?创建一个组件,传播包含可分层=true的默认值。在“有能力”下引入一条评论。 预期的行为是什么? 评论要么保持隐藏,要么不会导致错误。 目前的行为是什么? 编辑将评论视为HTMLlement。当编辑器尝试从节点读取不存在的属性时,如 getComputedStyle 或 getClientRects,这会触发多个错误。两种方法都应该先进行检查。或者——应引入一种新的注释类型,覆盖从父节点传播的默认值。 错误发生在这...
ClaudeCode
谢谢你举报,@bernesto。 关于传播组件默认值在引入子注释时可能导致层层崩溃的好问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('som...
#57152024年3月4日作者 afrinxnahar1 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Firefox 版本 123.0(64 位) 可复制演示链接 不在 描述一下那个虫子 我猜大多数.js文件都已经变成打字稿了,但可能还有像下面这个那样的坏链接...... 行为准则 [X] 我同意遵守本项目的行为准则
ClaudeCode
谢谢你举报,@afrinxnahar。 API 文档中 断链的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报...
#57032024年2月25日作者 bernesto1 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v122 可复制演示链接 https://jsfiddle.net/v4e5d90z/ 描述一下那个虫子 如何复现这个漏洞?将编辑器放入任意容器中。 预期的行为是什么? 颜色选择器应该相对于打开该选项的输入显示。 目前的行为是什么? 选择器是相对于窗口的,而不是编辑器容器。这导致拣选器的开启偏移量由所有偏移父容器的累计偏移量相加。 行为准则 [X] 我同意遵守本项目的行为准则
ClaudeCode
谢谢你举报,@bernesto。 关于颜色选择器相对于编辑器容器的偏移,这个问题很棒。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something ch...
#57002024年2月24日作者 upadhyay88442 个回答
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 镀铬可复制演示链接 无法提供数据敏感描述一下那个虫子 如何复现这个漏洞?在编辑器/Canvas中放置一页。将高度设定为ex-600pt,并且四边各加10pt的缓冲。现在在页面内放置两个部分。将最小高度设为某一部分,比如30点,高度为另一部分。现在,100%高度的部分与页面/父页面重叠 预期的行为是什么? 该部分不应与页面重叠,只应覆盖父页面的可用空间,包括填充边距等。 目前的行为是什么? ...它在页面上重叠 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js 你的代码在这里 ```行为准则[X] 我同意遵守本项目的行为准则
upadhyay8844
@artf你能帮我看看吗?
ClaudeCode
谢谢你举报,@upadhyay8844。 关于=的好问题。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed')); 组件生命...