GrapesJS 问题

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

找到 336 个问题

🔍 style-manager
#34722021年5月24日作者 YyueeiWY2 个回答
2 个反应

Css 属性(-webkit-background-clip:text;)在 grapesjs-preset-webpage 中无法使用。

版本: “Grapesjs”: “^0.17.3” “Grapesjs-preset-webpage”: “^0.1.11” 你可以在控制台输入“grapesjs.version”获得版本 你能重现演示中的bug吗?[x] 是的[ ] 不 目前的行为是什么? css 属性(-webkit-background-clip:text;)在 grapesjs-preset-webpage(导入时消失)中无法使用。 但在Grapesjs官方演示中它能用。 https://grapesjs.com/demo.html GrapesJs 的官方演示源和插件 grapesjs-preset-webpage 有区别吗? 详细描述那个漏洞 我正在尝...

YyueeiWY

好的,我用 **grapesjs-parser-postcss 来解决的 我不知道有CSS解析器插件。 https://github.com/artf/grapesjs-parser-postcss

ClaudeCode

谢谢你举报,@YyueeiWY。 CSS 属性(-webkit-background-clip:text;)在 grapesjs-preset-webpage 中无法使用。 似乎是竞态条件或状态管理时序的问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的...

#34652021年5月19日作者 anatoli-dp3 个回答
0 个反应

更新会破坏一些CSS功能

警告 请阅读并遵循接下来的三步,然后在发布问题前删除它们遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md先快速搜索一下,看看有没有人没开同样的问题所有相关陈述/问题都必须填写/回答,否则问题可能已结案JSFiddle 入门模板 https://jsfiddle.net/szLp8h4nCodeSandbox 入门模板 https://codesandbox.io/s/1r0w2pk1vl 版本: 最近一次是直接从 GitHub 克隆的 你可以在控制台输入“grapesjs.version”获得版本 你能重现演示中的bug吗?[ ] 是的[x ]...

artf

其实正确的 API 应该是 '.components('html string')',看起来工作正常,但我会去研究重置,因为我预计工作方式也是一样的

artf

看起来 Backbone 的重置方法注入了“静默”选项,阻止 CSS 集合渲染新增样式,所以目前我更倾向于避免设置错误条件来移除这个选项,建议坚持使用正确的 API

ClaudeCode

谢谢你举报,@anatoli-DP。 更新会破坏CSS的一些东西的问题似乎是竞态条件或状态管理时序的问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因...

#34552021年5月12日作者 harsh2013 个回答
2 个反应

使用页面管理器在多页面插入组件时,样式会被清除

版本: 0.17.3 预期的行为是什么? 风格应在多页中保持一致 详细描述那个漏洞 我们有个用例是保存并重新加载 GrapesJS 的内容。我们希望利用页面管理器来减少渲染内容,并以更小的部分进行管理。 当我们尝试在多个页面加载内容时,问题就会出现。CSS 会被完全清除,因为之前插入的页面会被清除。 繁衍步骤插入第1页的组件和样式切换到第2页,插入组件和样式。切回第1页 当前行为 风格被抹去。 CodePen 的重要摘录 “JavaScript” const pageManager = 编辑器。页数; editor.setComponents('<p id=“abcd”>测试页面1</P>'); editor.setStyle(“...

artf

你好,所有页面都可以使用样式@harsh201,所以你不应该使用'editor.setStyle'(它会用新样式替换所有样式),而是用类似'editor.getStyle().add('...')''

harsh201

你好,@artf,有什么建议吗?

ClaudeCode

谢谢你举报,@harsh201。 样式在使用页面管理器在多页面插入组件时会被清除,看起来是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快...

#34542021年5月12日作者 TheDude703 个回答
0 个反应

RTE 插入链接不会更新 DOM

版本: "0.17.3" 你能重现演示中的bug吗?[X] 是的[ ] 不 预期的行为是什么? 使用默认RTE插入链接后,链接立即可在设置中进一步编辑,即设置HREF和目标 详细描述那个漏洞 在选择默认RTE的文本并将其转换为链接后,文本会被正确地包裹在<a>标签中,但直到取消选择并选择其他文本后,它才会作为链接组件出现,有时还需要重复两次才能被识别为GrapesJS组件。 你能附上截图、截屏或实时演示吗?**[ ] 是的(附上)[X] 不 这是我的编辑初始化: 有没有办法在插入链接后强制更新被编辑的组件?

artf

是的,目前就是这样运作的(内容只有在编辑完成后才会被解析和转换成组件)。我们大概可以用像[这样](https://github.com/artf/grapesjs/issues/610#issuecomment-768553776)的方法作为链接的默认行为。

artf

更新了本次发布的链接创建 https://github.com/artf/grapesjs/releases/tag/v0.18.3

ClaudeCode

谢谢你举报,@TheDude70。 RTE插入链路不更新DOM的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在...

#34532021年5月12日作者 alemenciones2 个回答
0 个反应

专长:如何在绝对模式下调整开始/结束的大小?

你好,亲爱的 我在absoluteMode里尝试类似“resize:start/end”的设置,搭配styleable:change:width/height。 你能帮我吗?

alemenciones

本作品:

ClaudeCode

谢谢你举报,@alemenciones。 关于FEAT:如何在绝对模式下调整开始/结束大小?的好问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log...

#34492021年5月11日作者 chiragkataria223 个回答
0 个反应

切换页面会反复调用画布样式和脚本

嗨 我正在将页面管理器集成到我的项目中。但我遇到的问题是,每当我在页面之间切换时,它会反复加载 canvas 对象中初始化时给出的 CSS 和脚本文件。 这让页面切换变得缓慢。 实施: Grapesjs.init({ pageManager: { 页码:[ { id:“第1页”, styles: '', // 或样式的 JSON 组件:“'',// 或组件的 JSON 名称:“第1页”, }, ], }, 画布:{ 风格:[ '../assets/bootstrap/bootstrap.min.css', '../assets/platforma/platforma.min.css', '../资产/editor.css', ],...

chiragkataria22

@artf 你能帮帮我吗?

artf

不幸的是,切换页面会创建一个新的iframe,所以行为是正确的。 我更倾向于移除之前的iframe,以尽量降低内存占用。一个解决办法可能是想办法重用之前的iframe,但这可能会在外部JS中引发上下文问题......所以我不确定如何正确预防这种行为。 总之,说实话,我不指望第一次加载后切换会这么慢,因为浏览器应该会缓存外部文件......你能制作一个你的经历的屏幕录制吗?

ClaudeCode

感谢你报告,@chiragkataria22。 感谢你分享关于不断切换页面、调用画布样式和脚本的报告。为了帮助团队调查并优先排序: 请提供: 一个最小可复现的例子(CodeSandbox/JSFiddle) 你的GrapesJS版本号 浏览器和操作系统信息 浏览器控制台的任何错误信息 重现问题的步骤 最有帮助的是什么: 简约代码示例(不是你整个项目) 屏幕录制或截图显示问题 明确区分预期行为与实际行为 你正在使用的GrapesJS配置 有了这些细节,维护者可以更快地识别和优...

#34482021年5月10日作者 rcloss2 个回答
0 个反应

向组件应用自定义类似乎没有效果

当某些条件未满足时,我会在组件上添加一个类,比如没有 href 集。我查看了源代码,看到了“nolink”类,但它没有把背景色设置为红色,检查元素时也看不到它,这就是我尝试添加它的方式,但当我用cc.getAll()时,我看不到nolink类,所以我不确定问题出在哪里 'var cc = 编辑。Css作曲家; 'var nolink = 编辑器。SelectorManager.add('nolink');' 'var rule = 编辑器。CssComposer.add([无链接]);' 'rule.set('style', { “背景色”:“红色” });` 我也试过'编辑器'。CssComposer.setRule('.nol...

artf

我也试过编辑器。CssComposer.setRule('.nolink', {'background-color':'red'});但这似乎也没用 'setRule' 是正确的 API,它能用,但它只创建规则,如果你想在 Canvas 上看到它,还得先把类添加到组件里(例如 'editor.getSelected().addClass('nolink')')

ClaudeCode

谢谢你举报,@rcloss。 感谢你分享关于向组件应用自定义类似乎不起作用的报告。为了帮助团队调查并优先排序: 请提供: 一个最小可复现的例子(CodeSandbox/JSFiddle) 你的GrapesJS版本号 浏览器和操作系统信息 浏览器控制台的任何错误信息 重现问题的步骤 最有帮助的是什么: 简约代码示例(不是你整个项目) 屏幕录制或截图显示问题 明确区分预期行为与实际行为 你正在使用的GrapesJS配置 有了这些细节,维护者可以更快地识别和优先排序修复。Grap...

#34462021年5月9日作者 Spectrevuln-sketch4 个回答
0 个反应

无法存储数据,意外令牌 '-'

请帮帮我,我想把 gjs 的数据存储到 mysql,但我无法从前端到后端传输任何数据 这是我的代码: 'const editor = grapesjs.init({ 容器:“#editor”, storageManager: { 类型:“远程”, 参数:{}, // 用于请求的自定义值 你的服务器端点 urlStore: 'http://example.com/store-webpage', urlLoad: 'http://example.com/load-webpage', contentTypeJson: true, setStepsBeforeSave: 1, }, blockManager: { 附录:“#blocks”...

Ju99ernaut

变量名不能包含 '-',因此以下语法无效: “''js const { gjs-assets, gjs-components, gjs-css, gjs-html, gjs-styles } = req.body; ```

Spectrevuln-sketch

请帮帮我,我想把模板存到 MySQL,我该怎么做?

Ju99ernaut

遗憾的是,这可能超出葡萄的范围,但有些需要注意 “''js 这无效 const { gjs-assets, gjs-components, gjs-css, gjs-html, gjs-styles } = req.body; 你可以尝试分别分配每个值 cont { body } = req; const assets = body['gjs-assets']; const components = body['gjs-components']; //... ``` 另外,...

#34412021年5月7日作者 emilsedgh4 个回答
1 个反应

解析器在16.30以“mj风格”破坏

版本: 从16.30到现在所有Grapesjs版本都有这个问题。 你能重现演示中的bug吗?[x] 是的[ ] 不 预期的行为是什么? 以下是有效的MJML代码。在 grapesjs-mjml 上应该能正常工作。 详细描述那个漏洞 目前,如果你用 grapesjs-mjml 配合上面的代码,它会以两种方式出现故障:它会这样渲染样式:导出代码时,MJML 代码导出如下: 在这两种情况下,你都可以看到样式是用HTML编码的。 目前的行为是什么?* “mj-style”不是textNode,其内容也不能被htmlEncoded。 详细描述那个漏洞 我之所以把这条信息提交到这个仓库而不是 grapesjs-mjml,是因为:这次回归是提交...

emilsedgh

嗨,阿图尔。感谢你对葡萄的出色处理。这真的很棒。 临时方案运作得很好。如果需要,可以随时关闭,但如果能提供一种操控行为的方式,那肯定会很不错。

artf

你好@emilsedgh抱歉我回复得晚了,但无论如何,我们可以考虑在这种情况下跳过逃脱,但最快的办法可能是直接将 mj 风格的方法扩展到 HTML “''js 编辑。Components.addType('mj-style', { 型号:{ toHTML() { const content = this.components().map(c => c.get('content')).join(''); 返回 '<mj-style>${content}</mj-style>'...

artf

谢谢你,Emil,暂时我先结束这个,以防以后出现类似问题,我们会考虑加一个新的道具来跳过逃脱。

#34342021年5月5日作者 advancedsoftwarecanada4 个回答
1 个反应

用导入的 HTML/CSS/JS 到编辑器里,显示大纲,但没有内容,里面有 JS Fiddle

你可以在控制台输入“grapesjs.version”获得版本 是的:https://jsfiddle.net/75a9u1cf/2/ 预期的行为是什么? 我期望能在编辑器中编辑HTML和内容 详细描述那个漏洞** 屏幕是纯白色的,我能看到形状和拖动元素,但编辑器就是无法显示内容 半解:https://jsfiddle.net/75a9u1cf/3/

advancedsoftwarecanada

这个问题是可以解决的。我只是把HTML/JS应用换成了平面HTML——禁用了所有愚蠢的加载效果。我会在不使用编辑器时用外部脚本做一些花哨的操作。 万岁,葡萄。

advancedsoftwarecanada

![图片](https://user-images.githubusercontent.com/1661561/117187316-cc15ef80-ada9-11eb-922e-de033b92a7e8.png)

advancedsoftwarecanada

半解决了,我在谷歌上找到了一些东西: https://jsfiddle.net/75a9u1cf/3/ 但有些图片仍然无法使用。

浏览所有主题