GrapesJS 问题

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

找到 336 个问题

🔍 style-manager
#48512023年1月17日作者 chaegumi3 个回答
0 个反应

This.on('change:attributes:type', this.handleTypeChange)不支持数组类型

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome 108.0.5359.125可复制演示链接 https://codesandbox.io/s/frosty-darkness-7po7xl描述一下那个虫子 如何复现这个漏洞?使用 myBlock点击测试按钮 预期的行为是什么? this.on(“change:list1”, this.handleList1Change); 每次都要工作 目前的行为是什么? this.on(“change:list1”, this.handleList1Change); 只跑一次 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js 从“grap...

artf

监听者看不到深度变化,所以这种情况下你得重新创建一个数组 “''js component.set(this.traitName, [...this.items]); ```

chaegumi

谢谢@artf。 我用 JSON.stringify 和 JSON.parse 来处理数据。

ClaudeCode

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

#48472023年1月15日作者 wunksert3 个回答
0 个反应

CSS的编辑不会被持久保存到DOM

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome 版本 109.0.5414.87描述一下那个虫子 如何复现这个漏洞?在 GrapesJS 画布上创建@keyframes动画在 JS 中,通过将以下字符串传递到编辑器中创建一个新的 CssRule。Css.addRules:将其添加到画布中:“编辑器。Css.addRules(updatedRule)' 预期的行为是什么? DOM应该更新 目前的行为是什么? DOM没有更新。但是,如果我调用“editor.getCss()”,我能看到不透明度的正确值返回了。 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: 行为准则[X] 我同意遵守本...

artf

似乎与 CssGroupRuleView [这里](https://github.com/artf/grapesjs/blob/e6a086afac77d8da73f225dd0aa84b3d178ec47b/src/css_composer/view/CssRulesView.ts#L64-L80)有关。对于像“@keyframes”这样的at规则,我们必须强制重新渲染父容器。

wunksert

@artf又遇到了“editor.”这个问题。CssComposer.remove(myCssRule)' 编辑器CSS会移除规则,但规则不会被冲入DOM。你建议我如何在保持编辑器状态不变的情况下强制重新渲染 DOM?“editor.refresh” 并没有把样式冲入 DOM

ClaudeCode

谢谢你举报,@wunksert。 关于CSS编辑不会持久保存到DOM的问题很棒。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something...

#47972022年12月21日作者 vaneatka1 个回答
0 个反应

Change type keepUnusedStyles?: 0;

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 任何 可复制演示链接 无 描述一下那个虫子 请修正 的类型 keepUnusedStyles?: 0; https://github.com/artf/grapesjs/blob/dev/index.d.ts#L261 以避免这种代码 保持未使用风格:如同任何事一样真实, 谢谢。行为准则 [X] 我同意遵守本项目的行为准则

ClaudeCode

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

#47962022年12月21日作者 RakulAgn2 个回答
0 个反应

使用mjml时自定义特征无法更新

这种方法对普通HTML来说是正常的。但当我尝试用MJML来标记MJ-IMAGE标签时, SRC在TR标签中是更新的,但在TR标签内的img标签中没有更新 下方图片 ![截图来自2022-12-21 13-32-13(1)](https://user-images.githubusercontent.com/119593989/208852368-33fc6704-88e4-4ac0-8f9c-9c022efd67cb.jpg) Originally由@RakulAgn在 https://github.com/artf/grapesjs/discussions/4795发布

artf

@RakulAgn请避免在讨论中制造问题。

ClaudeCode

谢谢你举报,@RakulAgn。 感谢你分享关于使用mjml时自定义特征未更新的报告。为了帮助团队调查并优先排序: 请提供: 一个最小可复现的例子(CodeSandbox/JSFiddle) 你的GrapesJS版本号 浏览器和操作系统信息 浏览器控制台的任何错误信息 重现问题的步骤 最有帮助的是什么: 简约代码示例(不是你整个项目) 屏幕录制或截图显示问题 明确区分预期行为与实际行为 你正在使用的GrapesJS配置 有了这些细节,维护者可以更快地识别和优先排序修复。Gr...

#47922022年12月19日作者 wunksert4 个回答
0 个反应

20.2版本的拖放功能失效了

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome v108可复制演示链接 见下文描述一下那个虫子 如何复现这个漏洞?创建自定义组件将其作为组件和可拖拽块添加到编辑器中添加组件时将编辑器设置为绝对拖拽模式,丢弃后再将组件本身设为绝对拖拽。重置编辑器 预期的行为是什么? 组件保持在放置的位置(这在 v 0.20.1 中正常工作) 目前的行为是什么? 组件会吸附到屏幕右侧(这种行为是在0.20.2版本中新增的)行为准则[X] 我同意遵守本项目的行为准则

wunksert

确认它在 v0.20.1 中仍然有效,所以看起来回归是在 v0.20.2 引入的

wunksert

组件一旦添加到画布中,也无法再拖曳。

artf

我会为下一次发布准备修复方案。

#47902022年12月18日作者 clonefunnels3 个回答
0 个反应

旧版本BUG——如果我无法获得帮助让最新版本正常工作......

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 旧版本不行。 真希望我能升级! 描述一下那个虫子 抱歉,我得勾选发帖框...... 如何复现这个漏洞?...用旧版的GrapesJS,因为你无法像我一样让新的存储管理器工作。...尝试用移动端优化页面。 预期的行为是什么? ...它会保留你做更改时插入的CSS。 目前的行为是什么? ...事实并非如此。 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js 你的代码在这里 ``` 你只需按下导入按钮,它就消失了。 ![2022-12-1806h1426](https://user-images.githubuserco...

clonefunnels

如果能修复,我不介意继续用旧版本。 或者有人能告诉我如何在不安装Rest API的情况下,像以前那样加载HTML和CSS吗?

clonefunnels

我找到了问题所在。 是grapesjs-parser-postcss.min.js?0.1.1 我用1.0.1替换了它

ClaudeCode

谢谢你举报,@clonefunnels。 关于旧版BUG的好问题——如果我找不到帮助让最新版本正常工作......。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => cons...

#47712022年12月7日作者 henry-mmw3 个回答
0 个反应

GrapesJS 不理解 '@-webkit-keyframe' CSS 规则。

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v108 可复制演示链接 无关联 描述一下那个虫子 在编辑器中添加任何“@-webkit-keyframe”的CSS规则。显示为“@media”。 我现在给构建器添加了不少工具,似乎每当我添加任何webkit-keyframe的CSS规则时,编辑无法理解它们,显得“有@media”“的”。只是想知道它是否支持这个功能,我只是多心了,或者如果不支持,有没有什么办法可以帮你实现?行为准则 [X] 我同意遵守本项目的行为准则

ronaldohoch

我只是来这里开启同样的问题!:( @artf,你可以添加这个代码来检查。 “''js 编辑。CssComposer.addRules(' .animateanimated { -webkit-animation-时长:300ms; 动画时长:300毫秒; -webkit-animation-fill-mode:两者兼用; 动画填充模式:两者兼具; } @keyframes 渐入 { 0% { 不透明度:0 } 到 { 不透明度:1 } } .animatefadeIn {...

artf

报告并修复 [此处](https://github.com/artf/grapesjs/issues/4727)

ClaudeCode

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

#47652022年12月2日作者 wunksert4 个回答
3 个反应

官方的解析@keyframes方法并不起作用

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome v107描述一下那个虫子 如何复现这个漏洞?按照[这里](https://grapesjs.com/docs/guides/Custom-CSS-parser.html#rule-objects)的说明创建你自己的CSS解析器,并输入@keyframes规则的CSS字符串。我用了这里预建的帖子解析器:[这里](https://github.com/artf/grapesjs-parser-postcss/blob/master/src/parser.ts)结构从解析器中导出并与文档匹配(见附图),但没有动画 <img width=“302”...

artf

你好@wunksert之前有个与关键帧相关的问题[这里](https://github.com/artf/grapesjs/issues/4727),已经修复但还没发布。

artf

修复该修复可在最新版本中 https://github.com/artf/grapesjs/releases/tag/v0.20.2

wunksert

@artf太棒了!你知道什么时候会发布吗?

#47542022年11月30日作者 jasonliang-dev2 个回答
0 个反应

关闭脚本</script>属性的“''标签无法逃脱

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 版本 107.0.5304.122(64 位) 可复制演示链接 https://jsfiddle.net/j5khz1gm/ 描述一下那个虫子 如何复现这个漏洞?创建具有以下默认属性的自定义组件类型: “''js { someText: “<\/script><svg onload='alert(1)'>”, “脚本道具”: [“someText”], 脚本:function() { this.innerHTML = “”; } } 行为准则 [X] 我同意遵守本项目的行为准则

derciesto

@jasonliang-dev,有最新进展吗?我也遇到同样的问题。

ClaudeCode

谢谢你举报,@jasonliang-dev。 关于关闭“</script>'标签未逃脱脚本属性的好问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.lo...

#47522022年11月28日作者 FaisalShaikhHA3 个回答
0 个反应

带有指针事件的组件:'all'(除封装器外)或可编辑组件可以拖拽并下放到自己身上。

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome 107.0.5304.121(官方版本)(arm64)可复制演示链接 https://jsfiddle.net/artur_arseniev/aku70f5w描述一下那个虫子 如何复现这个漏洞?尝试拖拽可编辑组件或本身带有“指针事件:全部”CSS的组件。它会消失的。由于该操作执行无限循环,并在控制台上返回错误“未捕获范围错误:最大调用堆栈大小已超过”。即使将可拖拽的 false 设置为可编辑组件,它依然可以拖拽。 预期的行为是什么? 可编辑组件不应该像包装组件一样被拖拽到自己。 目前的行为是什么? 可编辑组件可以拖拽到自己。即使设置为可拖拽...

artf

演示本身有个问题,现在已经修复了(在包装组件中添加了“可拖拽:false”)

FaisalShaikhHA

getCSSS补丁让它始终返回可编辑组件的内容无法正常工作,你能帮我解决这个问题吗@artf 下面的代码(包含在可复现演示链接中)总是返回整个画布或包装器的CSS字符串。

ClaudeCode

谢谢你举报,@FaisalShaikhHA。 关于带指针事件的组件:“全部”(除了包装器)或可编辑组件可以拖拽到自己身上,这个问题很棒。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change',...

浏览所有主题