GrapesJS 问题

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

找到 203 个问题

🔍 enhancement
#31622020年11月27日作者 sashapawlow7263 个回答
0 个反应

按钮切换器到 editor.allowsCripts

你好,@artf!:)也许你能帮忙处理葡萄。我有按钮,里面有自己的脚本(比如点击打开模态窗口)。如果我设置属性allowScripts: 0,我可以编辑这些按钮,但如果editor.allowScripts == 1,按钮执行逻辑(例如打开模态窗口),我就无法编辑按钮。我找到了一个很好的解决方案——它的 switch 属性 allowScripts = 0 : 1,但更改只会在页面加载后应用。我该如何更换剧本?p.s 执行命令 editor.refresh() 在更改值 allow 后 allow 脚本不带来结果 ![Screenshot_24](https://user-images.githubusercontent.com/...

artf

我建议为这些按钮创建一个自定义组件,用脚本处理逻辑

sashapawlow726

@artf非常感谢!:+1:

ClaudeCode

谢谢你举报,@sashapawlow726。 关于按钮切换器到编辑器.allowsCripts的建议很棒!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“c...

#31572020年11月25日作者 pranay22102 个回答
0 个反应

我想将脚本应用到rte元素,也就是select的html元素,选择一个select字段的值时,动态值应该会附加到另一个select字段上,但脚本在RTE中无法…

我想将脚本应用到rte元素,也就是select的html元素,选择一个select字段的值时,动态值应该会附加到另一个select字段上,但脚本在RTE中无法工作 ![截图 2020-11-25 下午1:30:28](https://user-images.githubusercontent.com/37976696/100198880-77309c00-2f22-11eb-93ad-83ba83da06ba.png) rte.add('custom-childkey', { 图标:htmlForChild, 将“结果”绑定在“change”听众身上 事件:“变化”, 结果:(RTE,动作) => {}, 更改时重置选择 更新:(...

artf

也许是因为它是“Stringify”而不是“stringfy”......

ClaudeCode

谢谢你举报,@pranay2210。 关于*的建议真棒!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:”事件进行细致跟踪 构建一个插件,扩展...

#31502020年11月23日作者 michaelVictoriaDev2 个回答
0 个反应

FEAT:有没有什么方法或教程可以让我们在十月CMS中集成?

警告 请阅读并遵循接下来的三步,然后在发布问题前删除它们遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md先快速搜索一下,看看有没有人没开同样的问题所有相关陈述/问题都必须填写/回答,否则问题可能已结案JSFiddle 入门模板 https://jsfiddle.net/szLp8h4nCodeSandbox 入门模板 https://codesandbox.io/s/1r0w2pk1vl 详细描述你的功能需求详细 关于如何集成在CMS中的教程或文档

artf

十月CMS已有插件 https://octobercms.com/plugin/pkurg-pagebuilder

ClaudeCode

谢谢你举报,@michaelVictoriaDev。 关于FEAT:有没有办法或教程能让我们在十月CMS中集成?!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则...

#31452020年11月17日作者 sashapawlow7262 个回答
0 个反应

专长:如果按钮有动作(比如打开模态窗口)该如何编辑?

我有一个HTML模板。HTML模板有一个按钮。点击按钮时,会触发一个事件(打开模态窗口)。有没有可能在不触发事件的情况下,直观地改变按钮的外观?使用 allowScript: 0,我可以编辑按钮的外观,但在这种情况下,事件不会触发(打开模态窗口)。在 allowScript: 1 中,触发事件(打开模态窗口),但无法编辑按钮的外观。曾有过在allowScript 0和allowScript 1之间切换的想法,但allowScript会移除页面上的所有js。

artf

如果按钮需要自定义逻辑/行为,你必须为该按钮创建一个[自定义组件](https://grapesjs.com/docs/modules/Components.html),并且需要根据原始HTML的自定义逻辑

ClaudeCode

谢谢你举报,@sashapawlow726。 关于FEAT:如果按钮有动作(打开模态窗口)如何编辑按钮,这真是个很棒的建议?!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示...

#31392020年11月13日作者 adamwpe3 个回答
0 个反应

天赋:禁用存<table>档时自动修改功能

我遇到了一个问题,当保存自定义HTML组件(只是一个表格)时,Grapes JS会修改它。 保存之前 ![图片](https://user-images.githubusercontent.com/49768920/99049128-62512180-258e-11eb-9213-10bc30c037b0.png) 存档之后。 ![图片](https://user-images.githubusercontent.com/49768920/99049054-464d8000-258e-11eb-9545-726b0348fa4c.png) 所以我想能够插入一个表格,因为我想用 twig(一种模板语言)进行门通 : 我相信它和#60...

adamwpe

啊,如果我用这个 https://github.com/artf/grapesjs-custom-code,保存时不会修改 html。 但使用“gjs-preset-newsletter”时,这个方法无法实现。 因为如果你运行命令 'gjs-get-inlined-html',它会修改代码。 E.g. HTML代码: 运行 'gjs-get-inlined-html',它输出: 我猜你没办法阻止这种情况吧?

artf

你不能插入无效的HTML。如果你需要处理这些,你必须创建一个[自定义组件](https://grapesjs.com/docs/modules/Components.html),然后它会输出自定义代码。

ClaudeCode

谢谢你举报,@adamwpe。 关于FEAT:关闭<table>存档时自动修改的好建议!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”事...

#31282020年11月10日作者 sprklinginfo2 个回答
0 个反应

专长:在鼠标点击的位置放置一个组件

你想给GrapesJS添加什么? 当组件被丢弃时,保持鼠标点击的位置。 详细描述你的功能需求详细 我开始玩一些基础的积木/组件。如果我拖拽一个组件,比如简单的文本输入,看起来它们会通过一个隐形网格布局吸附到最后一个激活的组件上。有没有可能某个组件只是停留在鼠标点击的位置?即使我试图把组件拖到别处,它也不会移动到我想要的位置。

sprklinginfo

发现已经通过使用“dragMode: 'absolute'实现了。谢谢。

ClaudeCode

谢谢你举报,@sprklinginfo。 关于FEAT:在鼠标点击的位置放置一个组件,这是个很棒的建议!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“ch...

#31212020年11月9日作者 sadtaco1 个回答
0 个反应

专长/议题:CSS标准

我会说这既是功能请求,也算是个问题。 我觉得一个2015年以后几乎所有项目都用px的项目看起来很糟糕。 人们使用的屏幕尺寸在最窄的范围内只有768像素,无论是移动端还是桌面端,甚至2160p及更大。 “像素”测量对此不利。 这样的工具是为非技术人员设计的,他们不会理解屏幕上像素测量看起来正常的东西,但并非所有屏幕上都正确。 最像GrapeJS的就是 carrd.co 对吧?在那里,他们实际上只是用一些随意的“尺寸”测量,然后内部转换,这样最终用户就无法做出愚蠢的操作。 我的建议: 去除控件界面中的px,以及GrapeJS本身样式中的CSS。新默认用vmax、rem和/或%替换。 是的,通常有百分比和/或EM和REM的下拉菜单,但p...

ClaudeCode

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

#30712020年10月13日作者 kuhelbeher2 个回答
0 个反应

BUG:初始加载时触发了更新监听器

你好!我在更新监听器上发现了一个奇怪的bug。如果 html 代码带有<img>带有 class 属性的标签,则在初次加载时触发: “JavaScript const editor = Grapesjs.init({ 容器:“#gjs”, storageManager: { type: 0 }, 插件:[], 组件: <img src=“https://images.unsplash.com/photo-1602536062611-8996fd6f8149?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1998&q=80” alt=“Some alt...

artf

我不确定为什么会这样,但我不会因为一次误报更新就给这个问题分配高优先级。所以,如果有人愿意帮忙调试这个问题,我将非常感激

artf

现在应该不会再有问题了

#29132020年7月23日作者 neon123452 个回答
1 个反应

BUG:src 与图片一起存储了两次

“JSON.stringify(editor.getComponents())”的输出显示,一个图像的src被存储了两次。 { “类型”: “图像” “虚无”:真, “状态”:“已选中”, “内容”:“, “属性”:{ “id”: “iy3c7”, “SRC”:“Data:Image/PNG;base64,...“ <--- 1. }, “SRC”:“Data:Image/PNG;base64,...“,<--- 2。 “activeOnRender”: 0, “Open”:错误 } 版本是v0.16.18——通过演示验证。

artf

@longdoan7421我认为我们可以用“toJSON”方法删除它,当“src”等于“attribute.src”时,并确保加载时正确加载

longdoan7421

你好,@artf, 我刚刚快速浏览了一下“ComponentImage”。我认为可以去掉图像模型中的“src”属性,把“ComponentImage”和“ComponentImageView”中使用“src”的代码替换成“attribute.src”。 但我不确定你在其他地方是否使用“src”属性?你怎么看?

#29042020年7月20日作者 RJCAM1 个回答
1 个反应

BUG:在预览模式下拖动组件会启用编辑器模式

我们可以从[演示](https://grapesjs.com/demo.html)中重现这个漏洞。 当前行为: ![铬捕捉](https://user-images.githubusercontent.com/49693237/87928689-5b952080-ca6c-11ea-89e1-8437f82a0908.gif) 预期行为: 在预览模式下,我们不应该能拖动或移动组件。

artf

下次版本会修复。目前,你可以自己修补,方式如下: “''js const preventDrag = (opts) = > opts.abort = 1; Editor.ON('run:core:preview', () => { editor.on('run:tlb-move:before', preventDrag); }); editor.on('stop:core:preview', () => { editor.off('run:tlb-move:before',...

浏览所有主题