#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/
GJS Helper
你遇到的元素在移动后跳到错误位置并与调整器交互的问题,是GrapesJS处理CSS top和left属性时的已知行为,尤其是在应用position: absolute且单位未明确定义时。 根本原因 当画布上移动带有position: absolute的元素时,GrapesJS正确地使用px单位应用top和left样式。然而,top和left属性的默认StyleManager配置(在Position类别下)定义了可能units的列表(例如['px', '%', 'em', '...
#65582025年7月3日作者 arustagi1011 个回答
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 版本 138.0.7204.50(官方构建)(arm64) 可复制演示链接 https://jsfiddle.net/artur_arseniev/L24hkgm5/ 描述一下那个虫子 如何复现这个漏洞? 添加图层管理器,并使用“grapesjs”:“0.22.8”或“0.22.9”的依赖关系。“0.22.7” 运行正常 预期的行为是什么? 在图层部分设置组件不可见,反之亦然,也就是说,将不可见变成可见应该可以。 目前的行为是什么? 在“0.22.8”和“0.22.9”版本中,“隐形”转“可见”在点击图层部分的组件时无法工作。 如果需要执行某...
GJS Helper
你已经准确识别出GrapesJS版本0.22.8和0.22.9中图层管理器的可见性切换从“隐形”切换到“可见”时没有正常工作。“可见”切换到“隐形”的切换功能正常,但恢复可见性失败了。 根本原因 这个问题是GrapesJS 0.22.8年引入的一个已知错误。它源于Component模型内部upVisible方法在切换visible属性时处理display CSS属性的方式发生了变化。具体来说,当组件被设置为不可见时,会应用display: none。然而,当尝试重新使其可见...
#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。 同样地,调整组件大小时,样式也应该加上...
#65432025年6月15日作者 Zedonboy1 个回答
GrapesJS 版本 [x] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 镀铬 可复制演示链接 没有 描述一下那个虫子 如何复现这个漏洞? 来自教程 我的CSS风格 预期的行为是什么? 一块空白画布 目前的行为是什么? ...  如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: 行为准则 [x] 我同意遵守本项目的行为准则
GJS Helper
你遇到的问题是,尽管设置了panels: { defaults: [] },“方块”面板仍然可见,这是一个常见的混淆点。panels: { defaults: [] }配置选项确实是为了防止GrapesJS初始化其核心默认面板(比如“图层”或“样式”面板)。 然而,“方块”面板通常是由grapesjs-blocks-basic插件添加的,该插件默认包含并启用GrapesJS。该插件会添加自己的面板和组件,独立于核心panels.defaults设置。因此,仅仅禁用默认面板并...
#65352025年6月6日作者 MikeCraig4183 个回答
GrapesJS 版本 [x] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 把你的版本从 1.0.48 改到 1.0.47 描述一下那个虫子 如何复现这个漏洞? 从Word复制丰富的内容 粘贴到 Grapes 我正在使用自架选项 预期的行为是什么? 内容应在编辑器中持续存在 目前的行为是什么? 内容错误 行为准则 [x] 我同意遵守本项目的行为准则
MikeCraig418
补充说明,Grapes 的 HTML 格式内容会消失。HTML存储字符串如下:
artf
你用的是什么富文本编辑器? 你能提供复现它的方法吗(比如我能复制相同的文本)?
GJS Helper
你在 v1.0.48 GrapesJS 遇到的问题,就是粘贴丰富内容(尤其是来自 Microsoft Word 等来源)会导致属性值分裂成单个属性,这是一种已知的回归现象。这通常表现为 style="color: red; font-size: 12px;" 属性被错误解析成 color="red" 和 font-size="12px"等独立属性,导致内容损坏和渲染错误。 根本原因 根本原因很可能是 GrapesJS内部HTML解析或净化逻辑的回归,该逻辑是在1.0.47和...
#65272025年5月22日作者 tim-prom2 个回答
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Firefox 138.0.4 可复制演示链接 https://codesandbox.io/p/sandbox/exciting-lalande-98d5vw 描述一下那个虫子 如何复现这个漏洞? 添加带有内联样式错误组件的页面 编辑器无法加载,整个页面变得无响应。Firefox显示“此页面正在使Firefox变慢”警告 预期的行为是什么? 如果编辑器无法解析CSS,最好在控制台里记录错误,而不是屏蔽整个应用 目前的行为是什么? 编辑器变得无响应 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js 编辑。Pages.add({...
GJS Helper
你遇到的问题是因为内联样式变形导致GrapesJS冻结,这是个关键bug,源于编辑器内部CSS解析器处理无效语法,特别是未关闭的评论。 根本原因 问题在于你h3元素的 style属性:<h3 style="text-align: center; / margin-top: 20px;">Test</h3>。 在style属性中,你有一个未封闭的CSS注释:/ margin-top: 20px;。CSS注释必须明确关闭,*/。由于不关闭,GrapesJSCSS解析器(在添加或...
#65182025年5月14日作者 jaredtmartin2 个回答
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 136.0.7103.93 可复制演示链接 https://jsfiddle.net/j826eL51/ 描述一下那个虫子 如何复现这个漏洞? 按照“入门指南”页面的步骤操作 当你进入添加方块时,方块不会出现。 预期的行为是什么? 方块应该会出现 目前的行为是什么? 他们没有出现 这可能和另一个问题有关: https://github.com/GrapesJS/grapesjs/issues/2186 但不知为何,入门功能即使更新了CDN,也无法按原文操作。 行为准则 [x] 我同意遵守本项目的行为准则
GJS Helper
你遇到的问题,就是按照GrapesJS“入门指南”操作时没有显示区块,这其实是因为你grapesjs.init选项的配置错误,特别是与blockManager和panels设置有关。 根本原因分析 你提供的JSFiddle(https://jsfiddle.net/j826eL51/)包含两种主要配置,防止块在默认GrapesJSUI中显示: blockManager.appendTo: '#blocks':你明确告诉GrapesJS将块附加到带有 ID blocks的 H...
#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
GJS Helper
你遇到的问题是,在 GrapesJS中,用共享类调整元素大小会影响所有该类元素,这是 中已知的行为,源于它管理和应用 CSS 样式的方式。默认情况下,GrapesJS 通常会通过在类选择器下将样式分组来优化 CSS。当你调整组件大小时,GrapesJS可能会把这解读为关联类的样式变化,而不是对具体组件实例应用内联样式。 根本原因: 当组件大小被调整时,GrapesJS会更新其width和height属性。如果组件有一个或多个类,GrapesJS的内部样式管理逻辑可能会决定更...
#65022025年4月25日作者 jsxOverdose2 个回答
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v135.0.7049.96 可复制演示链接 https://jsfiddle.net/bqkLwt8j/ 描述一下那个虫子 当元素具有内联样式且匹配基于ID的CSS规则时,ID选择器的样式会被移除——即使内联样式不会覆盖这些属性。然而,基于类的 CSS 规则不会出现这个问题,因为它们的行为符合预期。 如何复现这个漏洞? 为特定ID添加CSS规则,例如“#frame2 { color: red; }` 添加带有该ID和内联样式的元素,例如'<div id=“frame” style=“font-size: 14px;”>'” 注...
artf
谢谢你的报告@jsxOverdose 下次版本会修复
GJS Helper
你准确识别了GrapesJS中内联样式似乎完全覆盖基于ID的CSS规则,即使是对无冲突属性的属性。这确实偏离了标准CSS专一性规则,可以看作GrapesJS内部样式管理处理内联样式与ID选择器交互时的一个bug。 根本原因分析 在标准CSS中,特异性要求内联样式(style="...")具有最高的特异性,其次是ID选择器(#id),然后是类选择器(.class),最后是元素选择器(tag)。当一个元素适用多条规则时,具有较高特异性的规则优先用于冲突属性,而低特异性规则中的非...
#64942025年4月15日作者 yashvi20261 个回答
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://codepen.io/Harshsne/pen/QwwLjBQ 描述一下那个虫子 如何复现这个漏洞? 点击创建,然后快速且反复地摧毁。 调试时,我发现错误由以下代码引起: 未定义的“allcomponents”错误由:(editor.select 代码)引起。 未定义的“最后组件”错误: 将样式添加到组件会触发 stylable:change 事件,如果你的侧面函数仍在运行并且在此期间点击 Destroy,会报错。 与undefined 'al...