#44342022年7月10日作者 Singwai2 个回答
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 任何可复制演示链接 https://grapesjs.com/demo.html描述一下那个虫子 这个漏洞和“ParserCss.js”有关。 https://github.com/artf/grapesjs/blob/dev/src/parser/model/ParserCss.js#L7-L8 解析器期望结果存储在包含select字符串和样式哈希对象(以及其他媒体查询参数)的哈希对象数组中。示例结果: “''js [ { 选择:“div, a, .a.b.c”,//带有逗号分隔符的某个选择器。 风格:{ 背景图片:URL(img/gradient.p...
artf
是的,目前我们不支持这类情况,但我觉得处理这些情况可能会更好。
ClaudeCode
谢谢你举报,@Singwai。 CSS 解析器形状的问题不允许 CSS 属性被定义超过一次。 似乎是一个竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这...
#43852022年6月15日作者 froodian2 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 任何 可复制演示链接 https://grapesjs.com/docs/modules/Commands.html#stateful-commands 描述一下那个虫子 如何复现这个漏洞? 在Typescript设置中, “''t” 从“grapesjs”导入葡萄; export const ExportPlugin = (editor: grapesjs.编辑) => { 编辑。Commands.add(“render html”, (editor) => { 返回“<html><body>示例</body></html>”; });); };...
ClaudeCode
谢谢你举报,@froodian。 关于index.d.ts的建议很棒,说执行命令应该返回虚无值,但文档说他们的返回值可能会被使用!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来...
#42502022年4月11日作者 dinosaurawr2 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v 100.0.4896.75 可复制演示链接 https://stackblitz.com/edit/typescript-ou8qpc?file=index.ts&view=editor 描述一下那个虫子 如何复现这个漏洞?尝试用葡萄开头index.d.ts 预期的行为是什么? 编辑器初始化时无错误 目前的行为是什么? 'Type'[字符串, 任意]' 不可分配到类型 '[]'。 Source有2个元素,但目标只允许0'行为准则 [X] 我同意遵守本项目的行为准则
artf
谢谢@dinosaurawr在这里解决了这个问题 https://github.com/artf/grapesjs/pull/4216/files
ClaudeCode
谢谢你举报,@dinosaurawr。 关于init()方法类型错误的建议很棒!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”事件进行细...
#42252022年3月30日作者 Sudhin354 个回答
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome v9可复制演示链接 不是在那里描述一下那个虫子 如何复现这个漏洞?在 React 应用中安装 Grapes js 并运行制作 Facebook 插件组件并导入 Grapes js(从 https://developers.facebook.com/docs/plugins/page-plugin/ 获取 Facebook 页面列表代码)运行应用程序在编辑器中拖放 Facebook 组件 预期的行为是什么? 去掉 Facebook 组件后,编辑器里应该会显示 Facebook 页面 目前的行为是什么? 去掉Facebook组件后,它就不再显示...
artf
我运行 'editor.setComponents(...FB HTML..)`  请提供一个可复现的演示。
Sudhin35
@artf 谢谢你的回复 但你已经添加了editor.setComponents(...FB HTML..)默认操作,然后加载编辑器 请创建一个 Facebook HTML 组件,然后在编辑器中拖放该组件,否则加载不了 我就是这样尝试过的
#40992022年1月25日作者 jloguercio2 个回答
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome v96可复制演示链接 https://jsfiddle.net/809enL2w/1/描述一下那个虫子 我用domComponents: { draggableComponents: false }来避免拖动组件,只有在工具栏里用箭头拖动时才会,但如果快速选择或编辑文本,它仍然会拖动/克隆/复制选中的文本和其他组件 https://user-images.githubusercontent.com/12191804/150874942-73b3b714-5a9b-4e87-81b4-56ecd4dfb0b9.mp4 这是个bug吗?或者我该...
artf
是的,看起来原生的HTML5 D&D仍然能支持文本选择,我会试着修复。
ClaudeCode
谢谢你举报,@jloguercio。 “Using draggableComponents: false” 的问题在我尝试编辑文本时仍然会拖拽(克隆?)某些元素,这似乎是竞赛条件或状态管理时序的问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤:** 如果还没测试过,请用最新的Gra...
#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版本测试 提供最小可重复...
#40002021年12月7日作者 zachsnoek4 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v89 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?在官方演示中,进入图层管理器,用“cmd+c”复制任意图层点击根“Body”图层,并用“cmd+p”粘贴进入浏览器控制台查看错误 预期的行为是什么? 贴上身体层可能不被允许,但不应该出错。 目前的行为是什么? 粘贴根“Body”图层会抛出以下例外: “''文本 未捕获类型错误:无法读取未定义的属性“indexOf” PasteComponent.js:13 在 Array.forEach (<anonymous>)...
artf
谢谢@zachsnoek,是的,因为包装器(正体)是根组件,它没有相关的集合。 可能我们需要更新粘贴逻辑,但你目前的修复是个不错的补丁,可以避免这种错误,所以PR非常受欢迎 👍
zachsnoek
谢谢@zachsnoek是的,因为包装器(主体)是根组件,所以它没有相关的集合。可能我们需要更新粘贴逻辑,但你目前的修复是个不错的补丁,可以避免这种错误,所以PR非常受欢迎 👍 听起来不错;我会在本周末前刷新个人纪录 :+1:
GuiMoraesDev
伙计们,我也遇到类似的问题 对我来说,错误发生在FileUploader上  我试着在Grapes Demo里输入,看看那里是否也会出现这种情况,结果确实发生了! 我意识到如果我清理LocalStorage并重新加载页面,...
#39392021年11月13日作者 xQwexx4 个回答
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 第95卷可复制演示链接 https://codesandbox.io/s/grapes-border-issue-forked-2c0ib?file=/src/index.js:10258-10261描述一下那个虫子 如何复现这个漏洞? 我正在尝试创建一个自定义组件,包含拖拽端放功能, 由于修复了#2904,可拖拽属性被完全关闭。 预期的行为是什么? 使得有意拖拽的自定义组件可以作为预览 目前的行为是什么? 目前预览版中所有可拖拽事件均被禁用 我也愿意先做个PR,我想先讨论一下解决这个问题的最佳方式, 或者这可能是项目的设计决定。行为准则[X] 我同意遵...
artf
@xQwexx你好,在这种情况下你会怎么解决?我们还是需要在预览版中保持D&D的关闭。 你能不能也发布你的组件代码,以便更好地理解使用场景?
no-response[bot]
由于我们请求原作者提供更多信息未获回应,本期已自动关闭。仅凭当前期刊中的信息,我们没有足够的信息采取行动。如果您有答案或找到我们需要的答案,请随时联系我们,以便我们进一步调查。
xQwexx
你好@artf我更新了一个演示,我的建议是使用'attributes: { draggable: 'true'}',在预览中指示组件是否可拖曳,组件模板的拖拽处理保持如' attributes: { draggable: 'true', ondrop: 'drop(event)', ondragover: 'allowDrop(event)'}' 我现在不太确定具体怎么处理, 但如果没有这个属性,我会把可拖拽的 html 标签改为 false,当我们切换到预览时。
#38832021年10月21日作者 akhalid-dev1 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v91 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?直接访问网站:https://grapesjs.com/demo.html。清理画布以便进行更简单的演示。从“模块”部分插入文本元素。选择丢弃的文本元素,选择“样式管理器”,展开“排版”部分。粘贴十六进制值:“8ceb34”。这会在 GrapesJS 画布中将文字颜色更新为绿色。然而,当我们查看生成的CSS或导出为zip时,缺少的“#”符号将缺失,颜色也不会被应用。  => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“sel...