#40822022年1月20日作者 jloguercio3 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v96 可复制演示链接 没有演示 描述一下那个虫子 当我加载某个模板时,编辑器会添加一些初始样式,比如下面的图片,我该如何设置或移除某些样式?举个例子:我需要移除Webkit的滚动条样式,因为它会修改模板内侧的所有滚动条。 行为准则 [X] 我同意遵守本项目的行为准则
artf
检查主编辑器的配置选项(例如“baseCss”)https://github.com/artf/grapesjs/blob/dev/src/editor/config/config.js 请不要用问题漏洞来提问,这种情况下请开启讨论。
ClaudeCode
谢谢你举报,@jloguercio。 从 frame canvas 移除部分初始样式的问题似乎是竞赛条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团...
#40792022年1月17日作者 jloguercio2 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v96 可复制演示链接 没有演示 描述一下那个虫子 我用下面的代码把所有样式都设置为 !重要 '// 让所有风格都重要以覆盖元素类 editor.on('styleable:change', (model, property) => { const value = String(model.getStyle()[property]); 如果 (value.indexOf('!important') === -1) { model.addStyle({ [property]: value + ' !important' }); } });...
artf
嘿,兄弟,我还没写完发布😅稿,冷静点...... 请在这里阅读 https://github.com/artf/grapesjs/releases/tag/v0.18.1 风格管理器经过大量更新,如果有什么不行,没人会强迫你升级......
ClaudeCode
谢谢你举报,@jloguercio。 *新版本v0.18.1破坏了脚本,使styleable:change中!重要似乎是竞赛条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤:** 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeS...
#40762022年1月17日作者 diemkay4 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 97.0.4692.71 可复制演示链接 https://jsfiddle.net/ovrz5ug2/4/ 描述一下那个虫子 你好——我们在多人游戏场景中使用 GrapesJS 时遇到了这个 XSS 漏洞,几个特权用户可以通过编辑器(即非开发者)对模板和组件进行修改。实际上,这使他们容易受到组织内部攻击,一个用户添加了恶意代码,另一个用户可能发现并运行。 如何复现这个漏洞?在组件的“id”属性中添加恶意代码,可以直接在HTML中或通过特征管理器(并保存)——在这种情况下,'id=“<details/open/ontoggle=alert...
artf
谢谢@diemkay如果你有任何建议,请参考这个问题:https://github.com/artf/grapesjs/issues/3082
diemkay
@artf 谢谢,但我已经看过那个工单了,它并没有涵盖我这里描述的问题。 注入不在实时预览中,而是在样式管理器中,它尝试通过设置“.innerHtml”来显示组件的“id”。
artf
是的,抱歉,关得太早😁了。我会试着在下一个版本修复。
#40712022年1月14日作者 clonefunnels2 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 和 Firefox 可复制演示链接 https://www.teamfunnels.net/login.php 演示演示 描述一下那个虫子 缺失要求;.png之后) 当页面上有背景图片但没有显示时,编辑器会这样加载。 <style> #i7u3f{ 背景-图像:URL(https://www.teamfunnels.net/assets/202201141203/img/hero-bg.png) 背景-位置:顶部中心; 背景尺寸:封面; } #i6o6l{ 背景-图片:URL(https://www.teamfunnels.net/as...
clonefunnels
我觉得是换弦导致了这个问题。 抱歉
ClaudeCode
谢谢你举报,@clonefunnels。 页面背景图片无法正常工作的问题,因为CSS加载时没有;URL 末尾似乎存在竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤:** 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSan...
#40592022年1月8日作者 miladmeidanshahi2 个回答
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome v97描述一下那个虫子 在第 https://github.com/artf/grapesjs/blob/dev/src/selector_manager/model/Selector.js#L171 行,选择器转义函数不允许使用“/”和“.',因此我们不能使用一些顺风类,比如”basis-1/2“和”inset-0.5“...... 也许这个'/([^a-z0-9\w-\/.:]+)/gi'正则表达式会有帮助。行为准则[x] 我同意遵守本项目的行为准则
miladmeidanshahi
抱歉,我发现这个配置 https://github.com/artf/grapesjs/blob/e52b5c29e4346dba7367b769a44d99a2226e025f/src/selector_manager/config/config.js#L17
ClaudeCode
谢谢你举报,@miladmeidanshahi。 selector escape 函数不支持 tailwindcss 类的问题似乎是竞态条件或状态管理时序的问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(...
#40582022年1月8日作者 clonefunnels2 个回答
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 铬可复制演示链接 没必要——明显的问题描述一下那个虫子 代码需要这样: data-zanim-lg='{“from”:{“opacity”:1,“x”:70},“to”:{“opacity”:1,“x”:0},“ease”:“CubicBezier”,“duration”:0.8,“delay”:0.3}' data-zanim-xs='{“from”:{“opacity”:1,“y”:-37},“to”:{“opacity”:1,“y”:0},“ease”:“CubicBezier”,“duration”:0.8,“delay”:0.3}' 编辑器会这...
artf
这不是个bug,而是HTML中属性转义的工作原理。 “''js domEl.innerHTML = '<div data-attr='{“key”: “value”}'>Text</div>'; domEl.innerHTML; -> '<div data-attr=“{”key“: ”value“}”>Text</div>' ```
ClaudeCode
谢谢你举报,@clonefunnels。 连字符改为“by editors messing up modern coding”的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤:** 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复...
#40422022年1月2日作者 sanjanaadeshra3 个回答
葡萄JS版本[x] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 铬可复制演示链接 https://stackblitz.com/edit/angular-dei45q?file=src%2Fapp%2Fapp.component.ts描述一下那个虫子 附上一张图片,让大家了解编辑器的样子 预期的行为是什么? 需要加载葡萄 ediotr 目前的行为是什么? 编辑器加载了,但图标都看不见。行为准则[X] 我同意遵守本项目的行为准则 。 请升级,下次打开相对于最新版本的新漏洞问题。
ClaudeCode
谢谢你举报,@sanjanaadeshra。 在 Angular 应用加载时图标未加载的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤:** 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有...
#40392021年12月31日作者 sridhar3912 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chromw 96.0.4664.45 可复制演示链接 https://thanhtunguet.github.io/grapesjs-react/?path=/story/grapesjsreact--primary 描述一下那个虫子 如何复现这个漏洞?在编辑器中拖放基本方块 预期的行为是什么?在编辑器中拖放基本块,编辑器中应该会显示 目前的行为是什么? 在编辑器中拖放基础方块,控制台错误提示 在Firefox浏览器中,编辑器中基本块的拖放功能正常工作 https://user-images.githubusercontent.com/171725...
artf
从你的演示来看,我能看到你用的是'0.16.45'版本。 请只为最新版本打开bug问题。
ClaudeCode
谢谢你举报,@sridhar391。 关于在Chrome编辑器中拖放块时,出现错误的好问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something...
#40372021年12月30日作者 denisdal2 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 96.0.4664.110 可复制演示链接 我没有公共的 描述一下那个虫子 如何复现这个漏洞?使用 Chrome 和 Grapes 通讯编辑器将“文本”元素拖入页面并写入内容。在同一元素中,按“回车”键,生成新行,粘贴一些纯文本将模板保存到某处,以便重新加载页面时使用。 预期的行为是什么? 在之前插入所有可编辑文本的“文本”元素 目前的行为是什么? Grapes生成一个“Box”元素,文本内部不再可编辑,并且每行粘贴前文生成N个“Text”元素(可编辑) 这种行为仅适用于 Chrome,但可能影响其他 Webkit 浏览器。 谢谢行为准...
artf
HTML中默认导出的模板没有文本组件的引用,所以无法从所有可能的标签中知道文本组件应该被识别在哪里。这就是为什么当你[存储和重新加载模板](https://grapesjs.com/docs/modules/Storage.html#store-and-load-templates)时,应该始终依赖项目的JSON数据,而不是HTML/CSS。 一个选择是导出带有“data-gjs-*”属性的“可重新导入”HTML。
ClaudeCode
谢谢你举报,@denisdal。 关于在Chrome中将纯文本粘贴到文本元素时的好问题。ProseMirror 推荐的方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('somethi...
#40332021年12月28日作者 0xcrypto2 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 无 可复制演示链接 https://github.com/artf/grapesjs/blob/849a28757dc8dcd059c5ee6e6ac1bfd8b49a78b2/docs/modules/Blocks.md?plain=1#L138 描述一下那个虫子 只是一个小错别字,链接在localhost上。 行为准则 [X] 我同意遵守本项目的行为准则
ClaudeCode
谢谢你举报,@0xcrypto。 文档中错误链接和拼写错误的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报告...