GrapesJS 问题

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

找到 220 个问题

🔍 canvas
#38732021年10月19日作者 JGiard3 个回答
0 个反应

重新将GrapesJ的编辑器附加到文档时出现了重复的视频块

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v94 可复制演示链接 https://jsfiddle.net/3mrzaqtx/ 描述一下那个虫子 如何复现这个漏洞?在画布上添加一个视频块从文档中移除 GrapesJs 编辑器元素(可选)重新将 GrapesJs 编辑器元素附加到文档中 预期的行为是什么? GrapesJ的画布在手术前后应该是一样的 目前的行为是什么? 视频会多次显示 我的调查 根据ComponentVideoView,这是由render()函数引起的。与 updateProvider() 函数不同,render 不会在添加新的 iframe/video 标签前清...

JGiard

我创建了一个拉取请求,列出了我对问题理解的修复流程。

artf

不,你绝不应该依赖这种东西,或者你会销毁重启,或者干脆隐藏并展示给编辑。

ClaudeCode

谢谢你举报,@JGiard。 关于重新连接GrapesJs编辑器到文档时出现重复视频块的好问题。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('somethi...

#38662021年10月16日作者 inventorbit4 个回答
2 个反应

SVG 在任何 HTML 元素中无法渲染

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 版本 94.0.4606.81(官方构建)(64 位)可复制演示链接 https://grapesjs.com/demo.html描述一下那个虫子 如何复现这个漏洞? 直接添加任何在画布中可见的SVG——然后将同一个SVG元素包裹在DIV / SECTION / UL / LI 包裹完成后,在画布上看不到。 预期的行为是什么? SVG元素必须在画布中可见 目前的行为是什么? SVG元素无法渲染——当包裹在HTML块中时,DIV/SECTION/... 在 GrapesJs 中使用自定义代码块插入以下代码 “''HTML <div id=“i5cde” c...

marcosvnmelo

我在0.17.19版本中一直遇到这个问题

marcosvnmelo

抱歉,我刚才拼错了。我是说0.17.29。

artf

谢谢你的报告@inventorbit 我能理解解析“''<path>标签的问题。我会调查并尝试在下一个版本修复这个问题。

#38612021年10月12日作者 heminei1 个回答
0 个反应

按“s”或“w”键时 JS 错误——无法读取未定义属性(读取“indexOf”)

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 版本 94.0.4606.81(官方版本)(64 位) 可复制演示链接 https://jsfiddle.net/szLp8h4n 描述一下那个虫子 如何复现这个漏洞?选择正体元素按“s”或“w”键 预期的行为是什么? 不应该在控制台里出错 目前的行为是什么? 控制台出现错误: 行为准则 [X] 我同意遵守本项目的行为准则

ClaudeCode

谢谢你举报,@heminei。 关于按“s”或“w”键时出现的JS错误——无法读取未定义属性(读作“indexOf”)的好问题。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => cons...

#38572021年10月8日作者 flowize-project2 个回答
1 个反应

Firefox 问题,用户快速点击不同组件

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Firefox可复制演示链接 https://grapesjs.com/demo.html描述一下那个虫子 如何复现这个漏洞? 你需要在画布上非常快速地从一个组件点击到另一个组件,否则会出现 js 错误,“递归过多”,HTML 内容也会消失。 误差见第1627行模型/component.js,方法为“ensureinlist”。我们有几位客户报告了这个问题。 你可以在这个视频里查看问题:https://recordit.co/j9e1S6guW5 谢谢。行为准则[X] 我同意遵守本项目的行为准则

arthuralmeidap

你好,@flowize-PROJECT!希望你一切顺利!在你的问题中,你发布了GrapesJS演示链接作为可复放链接,但视频是用自定义Grapesjs安装录制的。 你能试着录个视频,用GrapesJS演示链接重现问题吗?

ClaudeCode

感谢你的报告,@flowize-project。 关于用户快速点击不同组件时Firefox问题的好问题。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('som...

#38102021年9月23日作者 mihir-khandekar4 个回答
0 个反应

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器?

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 92.0.4515.131(官方构建)(64位)可复制演示链接 无描述一下那个虫子 如何复现这个漏洞?使用编辑器将 HTML 插入 Canvas。Canvas.getBody().ownerDocument.execCommand('insertHTML', false, HTMLString)' 命令。插入的 HTML 会显示在编辑器画布上。使用编辑器的 editor.getHtml() 函数。'editor.getHtml()'返回的HTML字符串不包含通过execCommand命令插入的HTML。 预期的行为是什么? 最终 HTML 应返回通过 '...

artf

getHTML 与画布的 DOM 无关...... 仔细阅读文档 https://grapesjs.com/docs/modules/Components.html,尽量理解模型和组件视图之间的区别。

mihir-khandekar

@artf感谢你的迅速回复,那么正确的做法是什么? 我的需求是:我想在当前光标位置添加一个组件。那我怎样才能让它成为 editor.getHtml() 方法的一部分?

ionutmiftode

@mihir-Khandekar,你修好了吗?

#38062021年9月22日作者 throne19864 个回答
0 个反应

添加视频时目标为零

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome新版本 可复制演示链接 https://codesandbox.io/s/react-redux-toolkit-application-forked-l5rhp?file=/src/pages/Editor.js 描述一下那个虫子 如何复现这个漏洞?从块管理器拖拽视频到画布区域尝试通过将鼠标悬停视频并点击“使用视频”按钮来添加视频 预期的行为是什么? 当用户将鼠标悬停并点击“使用视频”按钮时,应该会在画布中的视频标签中添加一个视频 目前的行为是什么? 当用户在模态中将鼠标悬停在视频上并点击使用视频按钮时,视频根本不会被添加,在控制台上显...

throne1986

@artf你能帮我解决这个问题吗?

artf

问题就在这里 “''js Editor.ON(“Component:create”, (model) => { if (model.get(“type”) === “video”) { setAddVideo(false); console.log(“视频网址”,videos.videoUrl); 编辑。Commands.run(“open-assets”, { target: editor.getSelected(), // <- 当你放下视频时,未被选中 目标:模特,...

throne1986

> 问题就在这里> “''js> editor.on(“component:create”, (model) => {> 如果 (model.get(“type”) === “video”) {> setAddVideo(false);> console.log(“视频网址”,videos.videoUrl);>编辑。Commands.run(“open-assets”, {> // target: editor.getSelected(), // <- 当你放下视频时,未...

#37942021年9月20日作者 mattnoth3 个回答
0 个反应

当宽度和高度为画布100%时,基本文本组件中的RTE重叠文本

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 版本 93.0.4577.82(官方构建)(64位) 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 ![RTE澄清](https://user-images.githubusercontent.com/6341816/134036743-d8296cf5-9027-4833-b836-711c37d40f59.png) 如何复现这个漏洞?...在官方演示中,删除所有内容/在图层面板中从仅用身体开始...添加一个基础的文本组件,图层是正体>文本 3 ...将基本文本组件的尺寸设置为100%宽度和100%...

mattnoth

我没注意到你已经关闭了我之前的问题——关于那个奇怪的使用场景。你有什么解决办法的建议吗?我一直在用 updateRte 事件监听器,动态把 RTE 放进画布里确实很有挑战

artf

@mattnoth我已经回复了你的讨论[这里](https://github.com/artf/grapesjs/discussions/3782#discussioncomment-1350537),请避免再次打开同一问题。

ClaudeCode

谢谢你举报,@mattnoth。 关于RTE在基础文本组件中重叠文本,而宽度和高度100%属于Canvas,这个问题很棒。ProseMirror 推荐的方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => con...

#37832021年9月16日作者 mattnoth3 个回答
0 个反应

当文本组件设置为100%高度时,RTE文本重叠

葡萄JS版本 请帮帮我——这个问题可能在别处已经解决了,但我查了相关问题,没找到任何问题——文档里有提到要移动RTE的位置,但我不确定应该放在初始化的哪个位置——>'rteToolbarPosUpdate'是什么意思? 那个“pos”是什么意思?我只是想让RTE在设置为100%高度时,能排到文本框底部[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 版本 93.0.4577.82(官方构建)(64位)可复制演示链接 https://codesandbox.io/s/peaceful-feather-8pz5i描述一下那个虫子 当你进入沙盒时,必须手动将文本框的高度和宽度设置为100%——不知为何它无法保存 如何复现...

artf

这不是bug,只是一个奇怪的使用场景。

mingxin-yang

@artf我想更改rte工具栏的位置,但pos没有文档中提到的参数

ClaudeCode

谢谢你举报,@mattnoth。 关于RTE在文本组件设置为100%高度时,文本重叠的好问题。ProseMirror 推荐的方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('some...

#37592021年9月8日作者 throne19864 个回答
3 个反应

未捕获的类型错误:未能在“节点”上执行“appendChild”:参数1不属于“节点”类型。

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome新版本可复制演示链接 https://codesandbox.io/s/grapejs-reactjs-forked-zqnqo?file=/src/Editor.js描述一下那个虫子 如何复现这个漏洞?只需将图片块拖放到画布上还可以在落地页面块中找到拖放自定义图片块到 Canvas 现场演示:[https://codesandbox.io/s/grapejs-reactjs-forked-zqnqo?file=/src/Editor.js](网址) 预期的行为是什么? 当用户丢弃自定义图片块、默认图片块,或者双击Canvas上的任何图片,而...

throne1986

我已经解决了这个问题,方便以后参考 首先我移除了这个功能: editor.on(“component:add”, (model, argument) => { if (model.getName() === “Image”) { modal.setContent(ModalImages); } }); 我用这个功能替换了 编辑。Commands.add('open-assets', { run(editor, sender, opts = {}) { dispatch(se...

artf

当你运行“editor.command.run('open-assets')”时,你必须传递选项,比如 “''js editor.command.run('open-assets', { 目标:editor.getSelected(), }) ```

throne1986

@artf我解决了问题,问题是关闭问题,解决方案就是通过以下选项传递URL。 编辑。Commands.run(“open-assets”, { 目标:editor.getSelected() 网址:imageUrl }); 编辑。Commands.add(“open-assets”, { run(editor, sender, opts = {}) { dispatch(setIsOpen(true)); console.log(“imageUrl”,opts.url);...

#37222021年8月25日作者 amansharmaagami2 个回答
0 个反应

想添加固定大小的画布高度

我用它来制作动态PDF内容。 我想固定画布的高度,这样用户就不能从给定大小(高度)添加更多方块。 我想要删除滚动和一个消息或限制,比如不能添加更多物品之类的。 在同一个地方找到了一个旧问题 https://github.com/artf/grapesjs/issues/1803 如果更新成本高,请建议我如何实现同样的效果。

amansharmaagami

@artf 感谢你制作GrapesJS。

ClaudeCode

谢谢你举报,@amansharmaagami。 关于想添加固定尺寸画布的好问题。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something chang...

浏览所有主题