GrapesJS 问题

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

找到 336 个问题

🔍 style-manager
#32152021年1月4日作者 san-1232 个回答
0 个反应

来自远程数据库的内容加载问题

你好, 我创建了Grapejs页面构建器。我有两个链接,一个是 pagebuilder1,另一个是 PAgeBuilder2。两者都被重定向到grpaejs编辑器,并根据ID从数据库加载内容。 当我点击PageBuilder1时,会变成index.html?id=1(从数据库加载已保存内容) 当我点击PageBuilder2时,会显示index.html?id=2(从数据库加载已保存内容) 我的问题是所有页面构建器都加载了同样的内容。 我的代码: Grapesjs.init({ 展示偏移集:1, noticeOnUnload: 0, 容器:“#gjs”, 身高:“100%”, fromElement: true, storageM...

artf

请按照本指南 https://grapesjs.com/docs/modules/Storage.html#setup-remote-storage

ClaudeCode

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

#32122020年12月30日作者 Abhisheknanda13444632 个回答
0 个反应

Lightbox 组件

你好@artf 我正在尝试制作一个组件光箱,和Grape Drop一样。 我无法更新图片的原始字符 你能帮我一下吗 这是我目前写的代码 灯箱块 组件- :

artf

请检查[图像组件](https://github.com/artf/grapesjs/blob/dev/src/dom_components/view/ComponentImageView.js)

ClaudeCode

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

#32062020年12月23日作者 jrkd4 个回答
6 个反应

FEAT:页面管理器插件

功能: 可以用Grapesjs创建多个页面。功能设计 全球范围:[ ] 在顶部横幅“设备[下拉列表]”右侧添加一个链接,上面写着“当前<page-name>页面”。[x] 在右侧列“方块”右侧新增菜单项。图标会类似于[FA页面图标](https://fontawesome.com/v4.7.0/icon/files-o)。[ ] 点击菜单项或当前页面链接,会显示“页面管理器”标签;一个全宽链接列表,可以在页面间切换。 页面管理器标签页:[x] 当前页面将在列表中被高亮显示。[x] 点击新页面会刷新主视图及相关编辑器信息。[x] 当前设备设置应保持。[x] 导出/预览/布局/属性功能应指向新选中的页面。[ ] 列表中的每个页面都会有...

artf

Pages模块现已合并 https://github.com/artf/grapesjs/pull/3411,新版本即将发布。 使用Pages API的简单演示:https://codepen.io/artf/pen/XWpJQoY

artf

听起来很棒,我很喜欢把这个插件作为插件的想法,如果你觉得需要添加什么(比如某个事件)来让它更好,告诉我。

jrkd

这个功能的核心今天已经运行起来了。 @artf如果还想要,告诉我,我会在一月份再花点时间。 给自己的笔记, 待办事项:添加/移除页面操作,进行视觉调整,集成存储管理器,并将代码重构为独立插件。

#32022020年12月21日作者 vbeskrovny2 个回答
0 个反应

需要帮助:保存/恢复GJS数据块类型

大家好,能指点我正确的方向吗?当我保存html代码和css代码时,它们会被新行修剪。有什么方法可以避免修剪吗?插入“自定义代码”块,从远程存储保存并恢复后,显示为“默认”类型或“文本”类型。如何将data-gjs-type设置为自定义代码返回? 非常感谢......

vbeskrovny

通过使用 StorageManager 中的 json 内容解决了这个问题。

ClaudeCode

谢谢你举报,@vbeskrovny。 关于需要帮助:保存/恢复GJS数据块类型的好问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('somet...

#32002020年12月20日作者 sprklinginfo3 个回答
0 个反应

需要帮助:能找到方块掉落到的组件吗?

你好, 如果我在动态添加的组件上拖放一个方块,我如何获得或访问该方块被投放到的组件? 我把拖曳模式设置为“绝对”(设计模式),这样用户可以自由地在页面任意位置放置一个方块,每页都有背景图片。当编辑器启动时,页面会动态添加。方块应根据背景图片放置在页面的不同部分。由于拖拽模式,方块被设置为“绝对”。我的问题是,如果我更改浏览器大小,带有背景图片的页面会相应缩放,但那些块却不会跟着目标图片移动。我在想,一旦块被放下,我需要把位置改成“相对”,并附加到页面上(图片)。 尝试用“block:drag:stop”事件更改掉落方块的样式,但它变得隐形,它还在DOM上,但我看不到它了,“设置'z-index'为100000,也没用。我也搞不清楚...

artf

抱歉兄弟,我这里只回答你的主要问题如果我在动态添加的组件上拖放一个方块,我如何获得或访问该方块被投放到的组件? “''js 模块和组件是两个不同的概念,如果你不理解,请阅读文档 editor.on('block:drag:stop', (component, block) => { 如果存在分量,表示掉落成功 如果(分量) { component.addStyle({ color: 'red' }) // 例如:更新风格 你需要包含这个新组件的父节点吗? const par...

inthismachine

@artf如果xxx被非法丢弃,有没有办法把<mj-text>xxx</mj-text>包裹在MJ截面和MJ列里?比如使用者试图把它砸在身体上。原因是我想自动把丢弃的文本块添加到一列行里,如果它没有放在列内。

ClaudeCode

谢谢你举报,@sprklinginfo。 关于需要帮助:获取方块被投放到的组件? 这个问题很棒。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('s...

#31982020年12月19日作者 mprince2k182 个回答
0 个反应

无法获得内联CSS代码。如何使用这个?

当我运行内联CSS的Command时,它会给我一个警告且未定义。

artf

没有内置命令可以获得内联CSS,但你可以在新闻通讯插件中找到实现方式: https://github.com/artf/grapesjs-preset-newsletter/blob/master/src/openExportCommand.js 核心功能是通过使用“juice”包完成几行代码 “''js 从“juice”进口果汁; // ... const getInlineed = (editor) => { const html = editor.getHtml();...

ClaudeCode

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

#31972020年12月19日作者 craighaworth2 个回答
0 个反应

你能重现演示中的bug吗?

版本: "0.16.30 你能重现演示中的bug吗? [ x] 是的(通讯演示版) 预期的行为是什么? 图像大小调整的handle应该在不抛出异常的情况下调整图像大小。 详细描述那个漏洞 点击任何图片缩放的手柄都会触发未抓到的类型错误。 PropertyView.js:504 未捕获类型错误:无法读取未定义的属性“get” 在r.isTargetStylable(PropertyView.js:504) 在r.checkVisibility(PropertyView.js:326) 在r.target更新(PropertyView.js:269) 东部时间(index.js:759) 在R.<anonymous>(index.js...

artf

感谢你的报告,下次发布会修复。

ClaudeCode

谢谢你举报,@craighaworth。 安全和依赖性问题很重要。GrapesJS 团队积极致力于保持依赖系统的更新。 为你现在: 运行“npm审计修复”以查看可用的补丁 查看是否有更新的GrapesJS版本,可能已经解决了这个问题 如有稳定版,升级前先测试最新稳定版 如果漏洞非常严重,可以使用“npm audit fix --force”,但请务必彻底测试 理解风险: 在GitHub安全公告中查看具体漏洞详情 并非所有高严重性问题都会影响你的代码路径 某些漏洞仅在特定条件...

#31842020年12月11日作者 sathyanarayananaCES4 个回答
1 个反应

点击关于将 grapesjs-style-bg 插件集成到网页构建器的问题

我使用的是 GrapesJS 版本(0.16.27),并且在编辑器中集成了 grapesjs-style-bg 插件。功能完全正常。但点击背景属性的标签页时,问题就出现了。它立刻切换了标签页。 尤其是在选择渐变选项时,我已经集成了插件,正如本[问题](https://github.com/artf/grapesjs/issues/2858)中提到的。我不确定我是不是漏掉了什么。在GrapesJS的演示中运行得非常好。 分析时发现点击事件被触发了多次,有没有什么钩子可以让我们在style-bg插件里监听标签页的点击图标,或者请告诉我如何更好地解决这个问题 请参阅附带视频以获得更清晰的问题 [video.zip](https://gi...

artf

谢谢你发的问题视频,但这对解决问题毫无帮助。如果你做不到可复现的演示,我帮不上忙。

sathyanarayananaCES

感谢@artf观看视频,我会尝试制作一个可复现的演示并附上这里。

no-response[bot]

由于我们请求原作者提供更多信息未获回应,本期已自动关闭。仅凭当前期刊中的信息,我们没有足够的信息采取行动。如果您有答案或找到我们需要的答案,请随时联系我们,以便我们进一步调查。

#31812020年12月11日作者 congweibai2 个回答
0 个反应

SelectorManager 不返回字符串,而是一个对象

版本:0.16.30 你能重现演示中的bug吗? [1] 是的 预期的行为是什么?* SelectorManager.getState() 应根据 SelectorManager.getState() 返回字符串 https://grapesjs.com/docs/api/selector_manager.html#getstate 详细描述那个漏洞 ![截图 2020-12-11 上午9:48 43](https://user-images.githubusercontent.com/53634020/101841570-10ec8000-3b96-11eb-80d5-04d771fdb576.png) 目前的行为是什么? Se...

congweibai

你能帮我看看 https://github.com/artf/grapesjs/pull/3182 这解决了这个问题吗?谢谢

ClaudeCode

谢谢你举报,@congweibai。 SelectorManager 不返回字符串而是返回对象的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——...

#31762020年12月9日作者 mcottret4 个回答
1 个反应

'setStyle' 和 'setComponents' 选项参数未被考虑

版本: 0.16.30 你能重现演示中的bug吗? [x] 是的 [ ] 不 繁殖步骤:打开控制台执行 'editor.setComponents('', {avoidStore: true});'执行 'editor.setStyle('', {avoidStore: true});'“存储......”日志依然存在(见附图) 预期的行为是什么? “选项”参数应被考虑。将“avoidStore”选项传给“true”,再传给“setStyle”和“setComponents”,应该能防止更新事件触发。 目前的行为是什么? “选项”参数未被考虑。传递“避免商店”选项无效,更新事件仍然会触发。 提出的解决方案: 很抱歉我之前在[PR]...

artf

谢谢@mcottret修复已经准备好,下次发布时会有修复

artf

不幸的是,由于初始命名不当,“avoidStore” 是用来跳过 UndoManager 而不是存储😁的 好消息是,为了修复 #3189,我不得不引入新的“noCount”选项,这样可以跳过编辑器更改计数器,也不会触发存储。 这个修复也促使我正确更新了 handleChanges 中的签名,使用 CssComposer,但我还需要修正其他几种方法才能让整个系统正常工作(包括你提到的那些)。 所以,在下一个版本中,这个功能应该会像你预期的那样运行,配合新的“noCount”...

mcottret

你好,@artf! 很抱歉重新提起这个问题,但“setStyle”问题似乎依然存在。 重新操作上述步骤,“存储......”当调用“setStyle”并使用“noCount”选项时,日志仍然显示。 我看到[已修复的“handleChanges”处理程序仍然使用“避免Store”选项](https://github.com/artf/grapesjs/blob/dev/src/css_composer/index.js#L130),但“避免Store”选项似乎也没用。 我没深...

浏览所有主题