PageKit — 可自托管的 GrapesJS 建站工具,附完整源码。 获取抢先体验

GrapesJS 问题

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

找到 231 个问题

🔍 general
#58282024年4月18日作者 HBR122 个回答
0 个反应

事件也可以在组件挂载上运行

事件也可以在组件挂载上运行

artf

请按照问题模板操作,它存在是有原因的......

GJS Helper

“事件在组件挂载时也能工作”的问题通常源于对事件监听器在 JavaScript 中绑定方式的误解,尤其是在像 GrapesJS 这样管理自身组件生命周期和 DOM 渲染的框架中。事件处理程序很可能在组件初始化或渲染时被立即执行,而不是作为引用传递,在实际事件发生时再调用。 根本原因 即时函数执行:最常见的错误是直接调用事件处理函数,而不是传递其引用。例如, someElement.addEventListener('click', myHandler()) 会立即执行 my...

#56892024年2月20日作者 mitcht4 个回答
0 个反应

<> 在开头引入 editor.getHtml()

GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? Chrome 版本 121.0.6167.185(官方构建)(64 位)可复制演示链接 https://jsfiddle.net/ja50kzne/4/描述一下那个虫子 如何复现这个漏洞?我有一个来自之前版本 grapesJS 的网页,加载时可以正确加载到 grapes 。你可以在小提琴中看到这一点。最新版本的 GrapesJS “创建”了小提琴中看到的JSON。我没有操作它。注意 grapesJS 加载,控制台没有错误。 执行 editor.getHtml(用于数据库存储)时,我看到 <> 引入了一个空元素注意console.log 预期的行...

mitcht

我把json删减了不少,发现输出中可能有一些可能无效的JSON? 就像是“逃脱双引号”的引入有点不对劲。 JSON.stringify 和 JSON.parse 似乎不在意它,但肯定有问题。

artf

页面的根组件应该是一个“封装器”,在你的情况下是“textnode”(例如,这可能会破坏很多东西),其中有一个空的“tagName”(这就是“<>”的原因),并且不知为何是“content: ”undefined“(?) <img width=“377” alt=“截图 2024-02-22 00 44 33” src=“https://github.com/GrapesJS/grapesjs/assets/11614725/0e76b02e-097b-463f-a921-...

mitcht

这是 Grapes 0.18.4版本中发布的内容,因此是由 grapes生成的。我预计如果内容是“未定义”的, grapes 要么会删掉,要么忽略。目前我只是在自己这边删掉<>,但我想和你分享一下。

#56572024年1月31日作者 leo-budgetsimple1 个回答
0 个反应

HTML 评论标签 禁用文本编辑

GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? Chrome 120可复制演示链接 https://jsfiddle.net/btmry08e/描述一下那个虫子 如何复现这个漏洞?使用该 HTML 创建 grapesjs 编辑器: 预期的行为是什么? 以便能够编辑文本 目前的行为是什么? 无法编辑文本 行为准则[X] 我同意遵守本项目的行为准则

GJS Helper

你遇到的 HTML 评论标签(比如 <!-- --> 会禁用 GrapesJS 的文本编辑)是浏览器处理 contenteditable 元素以及 GrapesJS的文本编辑器组件初始化相关的已知行为。虽然严格来说不完全是 GrapesJS核心的漏洞,但这种交互可能导致意想不到的行为。 根本原因 GrapesJS 依赖浏览器的 contenteditable 属性进行内联文本编辑。当元素(如您的 <div>)被标记为 contenteditable时,浏览器负责管理光标、选...

#54422023年10月3日作者 kishanp1024 个回答
0 个反应

应用文本颜色后,无法设置背景颜色

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 镀铬 可复制演示链接 https://jsfiddle.net/a3xgLm7c/3/ 描述一下那个虫子 如何复现这个漏洞?选择文本并应用文本颜色选择相同的文本并应用背景色 预期的行为是什么?两种颜色都应适用 目前的行为是什么?背景色应在应用文本颜色后应用 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: 行为准则 [X] 我同意遵守本项目的行为准则

mapsmarketing

你好@kishanp102, 我尝试按照步骤重现问题,但文字和背景颜色都被应用了(请参见截图)。 <img width=“318” alt=“image” src=“https://github.com/GrapesJS/grapesjs/assets/79551469/74b22828-610a-4530-9582-96c0c120a805”>

kishanp102

拖放文本组件,然后应用字体颜色,再点击外部,点击文本并放置它未应用的背景色 [screencast-jsfiddle.net-2023.10.11-091942.webm](https://github.com/GrapesJS/grapesjs/assets/43177161/1f7e270d-a144-41fa-84c1-763c7896ae18)

mapsmarketing

没错,你说得对@kishanp102它不会在你已经设置好背景色后给它应用新的背景色。这绝对是个bug。

#53922023年9月17日作者 joukhar4 个回答
11 个反应

最新版本0.21.6没有src文件夹

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome 版本 114.0.5735.199(官方构建)(64位) 可复制演示链接 无 描述一下那个虫子 最新版本0.21.6没有 src 文件夹 安装 grapesjs 使用NPM时 npm install [email protected] 行为准则 [X] 我同意遵守本项目的行为准则

joukhar

只有一个文件 “嘶嘶声” @import “./editorvariables”; @import “./editorvendor”; @import “./editorfonts”; @import “./editoricons”; @import “./custom”; @import “./custom/main”; @import “./装填手”; ``` SCSS文件比CSS文件更有组织、更强大,但我有备份计划

artf

@bgrand-我觉得你提到的问题可以用CSS变量解决。 我还在考虑引入一个新的主题小模块,允许通过程序更新编辑器外观,底层则是更新内部CSS变量。

joukhar

因为SAS文件可以覆盖变量,这一点非常重要

#53732023年9月8日作者 padcom4 个回答
1 个反应

“getDirtyCount()” 加载后返回 “1”

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome最新款 可复制演示链接 https://github.com/padcom/grapes-bug-dirty-after-loading/blob/master/src/App.vue#L37 描述一下那个虫子 克隆并启动项目开放控制台 当前行为:变化次数为1 期望行为:变化次数为0 补充说明:使用 autoload 变更次数时,变更次数保持为0行为准则 [X] 我同意遵守本项目的行为准则

artf

你好@padcom这是正常行为,因为加载本身会更新编辑器的状态。 你可以在手动加载后,通过“editor.clearDirtyCount()”直接清除脏计数器。

padcom

请注意,如果你启用了“自动加载”: 并禁用加载功能: 修改次数为“0”,尽管结果相同——页面被加载。因为我的项目非常需要能在特定时间加载页面,这让一切都乱了。我也尝试过在加载后清除更改次数,但由于设置代码是通过“setTimeout()”回调,无法确定性地完成。

padcom

请问?你是认真的认为这是“预期”的行为吗?你见过其他编辑器加载时项目会自动修改然后自动保存吗?我很难相信。

#51342023年5月20日作者 yashvi20261 个回答
0 个反应

用命令启用默认的RTE

GrapesJS 版本 [x] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome v91 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 我想用一个命令触发rte,我找到了enableEditing但不起作用,有没有命令可以触发RTE吗 行为准则 [X] 我同意遵守本项目的行为准则

GJS Helper

你遇到的问题是, enableEditing 并不是一个用于程序触发富文本编辑器(RTE)的公开命令或方法 GrapesJS。 GrapesJS 中的 RTE 通常在选择并聚焦某个文本组件时会自动启用。不过,你可以通过创建自定义命令,直接与组件的 RTE 实例交互来实现程序激活。 根本原因 GrapesJS的 RichTextEditor 模块管理 RTE 实例。当选择文本组件时, GrapesJS 内部检查是否可编辑,然后启用其关联的 RTE。没有像 enableEdit...

#51102023年5月13日作者 yashvi20262 个回答
0 个反应

“enableEditing”附加在视图上,你可以从模型中获取它的实例,所以选择该组件,在控制台“editor.getSelected().view.enableEditing()”中执行。

我正在获得 editor.getSelected().view.enableEditing();不是函数

artf

请避免在未遵循问题模板的情况下打开错误问题。 你可以用一个合适的描述和用例来开启新的讨论。

GJS Helper

错误editor.getSelected().view.enableEditing() is not a function之所以发生,是因为enableEditing方法并非直接在ComponentView实例上可用的公共API(editor.getSelected().view所指)。GrapesJS编辑器通过其专用的富文本编辑器(RTE)模块管理内联文本编辑,可通过editor.rte访问。 根本原因 GrapesJS Component模型(由editor.getSe...

#51092023年5月13日作者 yashvi20262 个回答
0 个反应

启用编辑无法正常工作

我尝试在Grapejs控制台启用编辑,但没有收到RTE,而是出现编辑器未定义错误

yashvi2026

如何使用“启用编辑” editor.getSelected().view.enableEditing(); 这会产生一个错误

GJS Helper

在浏览器控制台中尝试使用enableEditing时出现“编辑器未定义”的问题,表明GrapesJS编辑器实例在当前控制台的作用域中不可访问。enableEditing方法是GrapesJS编辑器对象的一部分,因此你必须有该对象的引用才能调用它。 根本原因 当你初始化GrapesJS时,grapesjs.init()方法返回一个编辑器实例。如果你没有将该实例分配给全局可访问变量(如 window.editor),或者初始化GrapesJS的脚本运行在不同的作用域(例如不全局...

#51072023年5月11日作者 siddhi13972 个回答
0 个反应

安装像 grapesjs basic block 或 tui-image-editor 这样的插件时,会在命名空间中出现错误node_modules。

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 匿名 描述一下那个虫子 如何复现这个漏洞?npm 安装 grapesjs-basic-blocks 中的任意插件之后运行应用程序,就像我用的是 Angular 应用一样 预期的行为是什么? 应该能正常运行 目前的行为是什么? 它会报错,因为命名空间 grapesjs 未找到或 tui-image-editor 找不到行为准则 [X] 我同意遵守本项目的行为准则

artf

如果你没有可重复的链接,请避免制造错误问题

GJS Helper

在 Angular 应用中安装 GrapesJS 插件如 grapesjs-basic-blocks 或 tui-image-editor 时出现的“命名空间未找到”错误,通常表明模块的导入和初始化方式存在问题,或者其依赖关系(如 tui-image-editor的 CSS )加载方式。在现代 Angular(TypeScript)环境中,你主要使用 ES 模块,插件通常期望通过 GrapesJS 编辑器实例初始化,而不一定依赖全局变量。 根本原因 错误的产生是因为插件或其...

浏览所有主题