#55422023年12月4日作者 brenoassp2 个回答
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome 119.0.6045.200 64位 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?拖拽视频块到画布中点击视频,选择YouTube作为提供者。添加任何视频ID,比如lDK9QqIzhwk,并勾选自动播放选项。点击查看代码按钮,查找生成的iframe。URL大致是: https://www.youtube.com/embed/lDK9QqIzhwk?&autoplay=1&muted=1。 预期的行为是什么? 预期的行为是自动播放生成的HTML视频。 目前的行为...
artf
看起来静音属性在Vimeo上是正确的,但YouTube上不行。我会推修,谢谢。
GJS Helper
感谢你报告这个问题并进行全面调查。你已经正确找到了根本原因和可用的解决方案。这确实是 GrapesJS默认YouTube视频组件中的一个bug。 根本原因分析 问题源于 GrapesJS 用来静音YouTube视频的参数与YouTube的iframe API实际预期参数不匹配。 GrapesJS 目前使用的 muted=1: GrapesJS video 组件在生成 YouTube iframe 的 src URL 时,如果启用“静音”选项,会在查询参数中添加 muted=...
#54502023年10月10日作者 ChiragS-Prajapati2 个回答
GrapesJS版本 [X] 我确认使用最新版本GrapesJS 你用的是什么浏览器? 版本 117.0.5938.134(官方构建)(64位) 可复制演示链接 https://jsfiddle.net/ap404703/0e5zop1n/ 描述一下那个虫子 示例如下 Grapes Js 文件 :- 初始化GrapesJSconst editor = grapesjs.init({ 画布:{ 风格:[ “https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css”, “https://unpkg.com/swiper@7/swiper-bundle.min.css” ] }, st...
artf
@ChiragS-Prajapati 你必须使用 [可拖拽/丢弃组件属性](https://grapesjs.com/docs/api/component.html#properties)来控制组件可以拖拽的位置,以及哪些组件可以被丢入其中。
GJS Helper
你遇到的问题是,一个部分块可以被丢弃到另一个区块里,这是GrapesJS默认常见的行为。GrapesJS 把 HTML 元素如 <div> 和 <section> 当作容器,允许其他组件嵌套其中,除非明确说明。你的自定义块作为<section>元素,因此是可丢弃的目标。 根本原因 GrapesJS 中 section 元素的默认组件模型允许它接受子组件。当你用简单的 HTML 字符串(如 <section class="..."><button>...</button></...
#54412023年10月3日作者 padcom2 个回答
GrapesJS版本[X] 我确认使用最新版本GrapesJS你用的是什么浏览器? Chrome最新款可复制演示链接 https://github.com/padcom/grapesjs-无ID-for-element-示例描述一下那个虫子 在创建自定义GrapesJS组件时,如果这些组件具有script()(组件的运行时行为),且该组件没有样式,那么根元素没有id属性,这会导致document.querySelectorAll('#<id-goes-here')失败,运行时脚本也不会被调用。 在给出的示例中,我创建了一个特殊的自定义元素,称为<content-preview>(https://github.com/padcom/...
artf
问题源于'jsInHtml: false'的使用以及内部JS生成器的处理方式。 我会尽量在下一个版本里修复这个问题。
GJS Helper
你描述的问题是GrapesJS中已知的行为,涉及HTML序列化过程中组件ID的生成和优化。当自定义组件有script()函数但没有显式样式应用时,GrapesJS可能会在最终HTML输出中省略组件根元素中的id属性(由editor.getHtml()生成)。这是因为GrapesJS主要使用ID来引用组件以进行样式设计。如果没有样式,ID可能被认为内部GrapesJS操作中没有必要,从而省略。 这种遗漏会破坏依赖document.querySelectorAll('#<com...
#53862023年9月15日作者 kmkaliraj2 个回答
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 埃奇 可复制演示链接 匿名 描述一下那个虫子 如何复现这个漏洞? 版本:0.18.2 我们系统中 grapejs 模块记录了以下错误。我们不确定该错误是在哪种情况下出现的。 类型错误:无法读取未定义的属性(读取“宽度”) at Object.getTargetToElementFixed (https://content.domain.com/resource/makerx/static/js/module/vendors~form-designer~c7cc6222.85501132.chunk.js:2:6330393) 载于 i.up...
GJS Helper
GrapesJS 0.18.2 中的TypeError: Cannot read properties of undefined (reading 'width')错误,源自 getTargetToElementFixed 和 updateToolsGlobal,表明 GrapesJS的内部工具(如选择器、调整器或通用画布覆盖层)正在尝试读取操作时null或undefined的 DOM 元素的width属性。这通常发生在画布工具试图更新其相对于已无效或不存在的目标元素的位置...
#53792023年9月12日作者 Sw33tgt4 个回答
GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? Chrome 版本 116可复制演示链接 https://jsfiddle.net/h5b0ndvL/1/描述一下那个虫子 当组件在画布中重新渲染时,模型定义中添加的新属性会被渲染,但新添加的类不会在渲染时添加。初始化函数Component.ts添加默认属性和组件属性。 'this.set('attributes', { ...(result(this, 'defaults').attributes ||{}), ...(this.get('attributes') ||{}), }); 但是,在查看 initClasses() 函数时,我只能...
Sw33tgt
目前作为一个变通方法,我用 'editor.on('component:mount', (component) => {});' 函数添加了这个功能,直到收到反馈。看起来效果不错。如果某个类从定义中移除,该被移除的类仍然可以在已保存组件的类列表中使用,但我猜没有解决办法。 “打字稿” editor.on('component:mount', (component) => { const cls = component.getClasses() ||[]; const cls...
Sw33tgt
是的,这对类是有意为之,按照你的方法,你无法从组件中移除定义的类,它们会在组件初始时不断添加。 这对于组件中某个类被遗忘,想在渲染时添加它到另一个版本插件时是可以的。我们把这些类设置为私密,这样用户看不到它们,也无法手动移除。 我相信作为一种变通方法,我可以把旧类的定义存到新属性上,然后在渲染新类之前比较它们,看看哪些需要被删除。我可以想办法解决我们需要的。 感谢你的回复@artf,
Sw33tgt
在 Component.ts 的 initClasses() 函数中做类似这样的功能,会把新类添加到渲染的元素中。告诉我你的看法: “打字稿” const cls = this.get('classes') ||攻击者 ||[]; 从const变为令 令 clsArr = isString(cls) ?cls.split(' ') : CLS; / 与默认职业对比 / cont dCls = result(this, 'defaults').classes ||[]; co...
#53782023年9月11日作者 Sw33tgt4 个回答
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome v116.0.5845.97 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?从画布中选择任意组件打开图层管理器面板选择第一个“分段”组件使用箭头移动该段并改变顺序 预期的行为是什么? 该部门应将新位置移动 目前的行为是什么? 控制台正在抛出一个错误:未捕获类型错误:无法读取未定义属性(读取“Canvas”)和未捕获类型错误:无法读取未定义属性(读取“方法”)。 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: 。我会推迟本周末发布新书。
#53722023年9月8日作者 uncldrw1 个回答
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Windows、Chrome、React 可复制演示链接 / 描述一下那个虫子 当尝试添加自定义 atRules 如 @container 或 @font-face 时,CSS 总是会编译成 @media。我尝试过多种方法,包括使用 Css.setRules 和 Css.addRules,以及插入 HTML 字符串,但都无济于事。 这是我给的代码: 行为准则 [X] 我同意遵守本项目的行为准则
GJS Helper
你遇到的自定义AtRules(如@container或@font-face)在使用editor.Css.addRules时被编译成@media的问题,是GrapesJS当前CssComposer中的已知限制。 根本原因 GrapesJS的CssComposer(负责管理 CSS 规则的模块)有一个内部解析器,主要用于处理标准 CSS 规则(带有属性的选择器)和一组特定的 AtRule,尤其是 @media 查询。当CssComposer遇到 AtRule 时,它没有显式识别...
#53632023年9月5日作者 rozek4 个回答
GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? 版本 1.56.20 Chromium:115.0.5790.171(Offizieller 构建)(arm64)可复制演示链接 没有描述一下那个虫子 当我尝试通过图层面板中排序画布上的元素时,拖曳时反复出现以下错误提示: 此外,在“鼠标上移”时,我会收到以下错误信息 这个问题可能是最近才出现的,因为我记得几天前排序功能还能用......行为准则[X] 我同意遵守本项目的行为准则
rozek
'Sorter.ts:500' 包含 'const cv = this.em!.Canvas',显然是错误的(因为“em”_是null或未定义) 很遗憾,我目前还不太理解所有缩写的代码——但是:如果将第499行改为“如果(型号?)”,会不会更易。Set && (this.em != null)) {' 这里有帮助吗? 注意:确实,这个小“窍门”帮我整理图层——我可以把图层往下移,但不能往上移。而且,因为我不懂代码,我的破解就是“破解”,不是修复!
artf
作为 https://github.com/GrapesJS/grapesjs/issues/5355 的重复关闭
#53552023年9月1日作者 andcmatias1 个回答
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 铬116 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?打开图层管理器,尝试移动组件它会禁用该组件,并在控制台中显示错误信息。未捕获类型错误:无法读取未定义属性(读取“画布”) at o.selectTargetModel (Sorter.ts:500:27) at o.onMove (Sorter.ts:545:10) e时(executeBound.js:8:65) 在HTMLDivElement.<匿名> (bind.js:10:12) 在HTMLDivElement...
GJS Helper
感谢您报告此问题。我可以确认这是最新版本GrapesJS中的一个可重现的bug,包括官方演示页面(https://grapesjs.com/demo.html)。该bug阻止用户通过图层管理器中的拖放功能重新排序组件。 根本原因分析 你遇到的错误,Uncaught TypeError: Cannot read properties of undefined (reading 'Canvas')和Uncaught TypeError: Cannot read properti...
#53542023年9月1日作者 rozek4 个回答
GrapesJS版本[X] 我确认使用最新版本GrapesJS你用的是什么浏览器? 版本 1.56.20 Chromium:115.0.5790.171(Offizieller 构建)(arm64)可复制演示链接 没有描述一下那个虫子 引用`canvas.scripts 的脚本 无法基于“导入映射”导入第三方模块。 如果同一模块需要同时被编辑器、预览和HTML导出使用,可能需要准备两个不同的脚本版本——一个用于开发(GrapesJS内),另一个用于部署——这绝对应避免行为准则[X] 我同意遵守本项目的行为准则
artf
https://github.com/GrapesJS/grapesjs/issues/5353#issuecomment-1704023749
rozek
你测试过吗? 尝试时 在当前版本的GrapesJS中,浏览器日志中会出现以下(扩展版)错误信息: