GrapesJS 问题

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

找到 743 个问题

🔍 bug
#38602021年10月12日作者 sduncan-tribe2 个回答
1 个反应

从0.16.27升级到0.17.27后,块无法工作

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Firefox 93.0,Chrome 94.0.4606.71 可复制演示链接 https://github.com/Tribe-Mobile/grapesjs-blocks 描述一下那个虫子 如何复现这个漏洞?运行git仓库,不显示任何块切换到版本 0.16.27 nd 运行 预期的行为是什么? 展示方块 目前的行为是什么? 没有显示方块 行为准则 [X] 我同意遵守本项目的行为准则

paooolino

见这里 #3835

ClaudeCode

感谢你报告,@sduncan部落。 关于从0.16.27升级到0.17.27后块无法工作的好问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('someth...

#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...

#38352021年9月29日作者 paooolino4 个回答
0 个反应

StyleManager AppendTo 在自定义 div 中未显示

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 铬93可复制演示链接 https://codepen.io/paooolino/pen/WNOPgJy描述一下那个虫子 如何复现这个漏洞? 这很简单,因为我之前用的是 Grapes v.0.16.xx,一直正常,直到升级到最新版本后,我的样式管理器面板就消失了。我可以提供一个带有旧版本(正常工作的)编码笔 https://codepen.io/paooolino/pen/jOwdvZv 然后又有一个代码相同但库升级的版本(无法工作) https://codepen.io/paooolino/pen/WNOPgJy 代码很简单,因为我只需要在自定义的 di...

paooolino

我确认是从v0.17.25开始的 v0.17.22 >>>工作 v0.17.25 >>>无法工作

artf

谢谢你,Paolo,这个问题会在下一个版本里修复。 问题出在默认的StyleManager开启命令上,它会把渲染出来的部分从你的容器移到默认的容器上。 你可以通过禁用默认按钮来验证这一点,该按钮会激活命令(按下后元素会移动)。 “''js 编辑。Panels.getButton('views', 'open-sm').set('active', false);

paooolino

谢谢你的释放。抱歉重新开放了 :-)但现在 StyleManager appendTo 可以正常工作,而 blockManager appendTo 似乎坏了。之前的StyleManager也有同样的问题。我确认过之前的版本是正常的,但现在版本 0.17.27 已经不显示了。🙏如果你需要密码笔,直接告诉我。

#38322021年9月29日作者 Sudhin354 个回答
0 个反应

每次重载后,CSS 类都会被移除,并且每个 HTML 标签的自动生成 ID(例如:ivj5m-2)都会被更改

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 不是在那里 描述一下那个虫子 如何重现这个bug? 在 React 应用中安装葡萄 js 进入编辑器,拖动一个组件。(示例:文本组件) 使用样式管理器为组件做样式 保存到数据库,在编辑器里查看代码 重新加载页面 请参见编辑器中的代码 预期的行为是什么?该 ID 的 html 标签 id 和 css 不应被更改或删除,即使重新加载编辑器 目前的行为是什么?如果我们在任何更改后重新加载编辑器,html 代码中的 id 会改变,而该 id 的 css 也会被删除 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: const edit...

Sudhin35

请指点我

artf

关闭“autoload: true”,你会把所有东西加载两次

Sudhin35

谢谢@artf。这解决了我的问题

#38252021年9月27日作者 mingxin-yang4 个回答
2 个反应

用CKeditor包裹并定块下面的文本

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https:// 描述一下那个虫子 如果文本组件的宽度不长,ckeditor 上的元素会对下面的文本进行反包和封块 ![图片](https://user-images.githubusercontent.com/23076937/134872894-8a9dba2f-9fd8-4026-adcf-df6b98a8d998.png) 但当你点击组件的下方部分,而不是仅在文本上方时,就不会有遮盖问题 ![图片](https://user-images.githubusercontent.com/23076937/134873155-d...

ronaldohoch

你好! 我们用这个方法解决了一段时间: “''js editor.on(“rte:enable”,()=>{ editor.trigger('canvasScroll'); }); ``` 订阅事件“rte:enable”并触发canvasScroll。这样,葡萄会重新计算位置。

mingxin-yang

@ronaldohoch 谢谢,这个代码对我来说很有效

mingxin-yang

本网站也会实施漏洞。https://grapesjs.com/demo-mjml.html ![图片](https://user-images.githubusercontent.com/23076937/134886777-86c03c07-b253-4810-9275-05486a852ef6.png) 右上角的工具栏也会被覆盖 @artf

#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...

#37792021年9月15日作者 stljeff13 个回答
0 个反应

Editor.getSelected().toHTML() 编码内联 JavaScript

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 最新款(镀铬)可复制演示链接 https://jsfiddle.net/4j1k0wde/24/描述一下那个虫子 如何复现这个漏洞?创建带有脚本标签的方块。使用 'editor.getSelected.toHTML()' 抓取该块的标记(这样用户可以在弹窗对话框中编辑该块的标记) 预期的行为是什么? ...我能拿到该区块的HTML,包括脚本标签及其内容 目前的行为是什么? ...要么没有脚本标签,要么特殊字符被编码。 更多信息请见:https://github.com/artf/grapesjs/discussions/3776 使用16.12版本时,'...

artf

你必须使用 allowScripts “''js const editor = Grapesjs.init({ ... allowScripts: true, }); ``` 我没看到编码问题(用真正的检查器,不要用 jsfiddle beta 控制台,后者可能有个 bug)。

stljeff1

谢谢!

ClaudeCode

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

浏览所有主题