GrapesJS 问题

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

找到 3,464 个问题

#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']; //... ``` 另外,...

#34442021年5月8日作者 mahfuzdiu4 个回答
0 个反应

RemoveButton() 导致错误

你好, 我正在尝试用这个代码编辑器从面板中移除一个按钮。Panels.removeButton(“options”, “fullscreen”)' 。它移除了按钮,但出现了这个错误。 ![捕获](https://user-images.githubusercontent.com/43580524/117531201-3aa1ba00-b003-11eb-8f03-8e74ce3a511a.PNG) 该如何解决?

mahfuzdiu

我用自定义的CSS编辑器隐藏了它。Panels.getButton('options', 'fullscreen').attributes.className = 'hidepanelbtn'' 顺便说一句,如果能有个合适的解决方案就更好了。

artf

你好@mahfuzdiu在官方演示中这样做,没有错误,你能创建一个可复现的演示吗?

no-response[bot]

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

#34432021年5月7日作者 chilled-capybara4 个回答
0 个反应

主干网-撤销/下划线安全建议

版本: 'v0.17.3' 你能重现演示中的bug吗?[x] 是的[ ] 不 预期的行为是什么? 见下文 目前的行为是什么? 嵌套依赖中使用的“underscore”版本中存在已知的安全漏洞。 当前版本的“葡萄”使用“backbone-undo”^0.2.5” https://github.com/artf/grapesjs/blob/d7f773202c72710dd787e2ce418c114c9ef81986/package.json#L20 最新版本是通过['npm'](https://www.npmjs.com/package/backbone-undo?activeTab=versions)实现的“0.2.5” 'ba...

emyasnikov

我也在想是否需要“骨干撤销”,或者可以用类似的替代。这个套餐已经6年没更新了

artf

这个套餐已经6年没更新了 嗯,除了更新依赖(比如出于安全考虑),它是一个功能完整的库,不需要添加或更新其他东西。 总之,这个[PR](https://github.com/artf/grapesjs/pull/3439)似乎修复了.lock级别的安全漏洞,但我不确定它们是否会保留在全新安装中。 我知道纱线有针对这种情况的“解决”,但不确定NPM里有没有其他替代方案。

chilled-capybara

谢谢你的回复总之,这个 [PR](https://github.com/artf/grapesjs/pull/3439) 似乎修复了 .lock 级别的安全漏洞,但我不确定它们是否会保留在全新安装中。 我觉得这可能会修复主“grapejs”仓库里的版本,但我不确定它是否限制了通过“backbone-undo”导入的版本。 如果你通过以下方式建立一个全新的项目 新的“Yarn.lock”仍会引用两个版本;

#34422021年5月7日作者 zgeist4 个回答
4 个反应

调用“editor.destroy()”后出现错误

创建编辑器实例 试着摧毁 收到错误 ![图片](https://user-images.githubusercontent.com/6919961/117447790-9a865b00-af46-11eb-9d2a-6d502be38d47.png)

artf

感谢你的反馈,我会在下一个版本里尝试修复 @ershadul1没有,有一个FrameWrapView(iframe周围的东西,比如封装器、选择工具等),里面有一个FrameView(iframe本身),但可能因为移除顺序的问题,框架会先移除,而不是它的包装。

ershadul1

https://github.com/artf/grapesjs/blob/0027dcd1194715eeaf4b24db878dd7ebac069cc4/src/canvas/view/FrameWrapView.js#L73 我看到移除是直接用在移除本身的。我不明白。这是个错误吗? 如果我设置“this.frame = null”,错误就会消失。 想听听专家的意见。@artf

PRTTMPRPHT

+1

#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,暂时我先结束这个,以防以后出现类似问题,我们会考虑加一个新的道具来跳过逃脱。

#34372021年5月6日作者 RaresVlaiduc2 个回答
0 个反应

撤销/重做问题

@artf,如果你问我,这很重要:) 版本:v0.17.3 你能重现演示中的bug吗?[x] 是的[ ] 不 预期的行为是什么? 如果我更改设备,然后按撤销再重做,我会回到最后一个设备类型。(例如:移动端 - >平板,撤销,重做) 描述一下那个虫子 如何繁殖:编辑器登场按移动模式按撤销键按重做键检查控制台 之后,撤销/重做功能就失效了。 你能附上截图、截屏或实时演示吗?[x] 是(附上)[ ] 不 ![图片](https://user-images.githubusercontent.com/73160095/117284331-62601900-ae6f-11eb-9ca7-1c31b850af5c.png)

artf

谢谢@RaresVlaiduc我会在撤销管理器里阻止追踪设备更改

ClaudeCode

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

#34352021年5月6日作者 anlumo1 个回答
0 个反应

可滚动的 onStart/onEnd/更新目标不可覆盖

版本: 0.17.3 你能重现演示中的bug吗?[ ] 是的[X] 不 预期的行为是什么? 能够覆盖组件的“model.default.scrollable”中的onStart、onEnd和updateTarget,详见[文档](https://github.com/artf/grapesjs/blob/master/src/utils/Resizer.js)。 详细描述那个漏洞 我创建了一个扩展 ComponentImage 的组件。内容不是静态图像,而是根据需要渲染,当目标尺寸变化时,必须重新渲染。 根据文档,我应该可以在 'model.default.scrollable' 中定义 'onEnd',在调整大小完成后触发重新渲...

ClaudeCode

谢谢你举报,@anlumo。 Scrollable onStart/onEnd/updateTarget not Overridable 的问题似乎是竞态条件或状态管理时序的问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供...

#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/ 但有些图片仍然无法使用。

#34332021年5月5日作者 divesham2 个回答
0 个反应

成就:视频无法播放

警告 请阅读并遵循接下来的三步,然后在发布问题前删除它们遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md先快速搜索一下,看看有没有人没开同样的问题所有相关陈述/问题都必须填写/回答,否则问题可能已结案JSFiddle 入门模板 https://jsfiddle.net/szLp8h4nCodeSandbox 入门模板 https://codesandbox.io/s/1r0w2pk1vl 你想给GrapesJS添加什么? 详细描述你的功能需求详细 最新版本有替代方案吗?[ ] 是的(描述替代方案)[x] 不 这是否与某个问题有关?[x] 是的(请...

divesham

https://github.com/artf/grapesjs/issues/1381

ClaudeCode

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

#34322021年5月5日作者 SintoDema2 个回答
0 个反应

我们能在 GrapesJS 编辑器中使用 [Wistia](https://wistia.com/) 吗?我想像Vimeo在编辑器中使用的那样使用它。

你好,@artf, 我们能在 GrapesJS 编辑器中使用 [Wistia](https://wistia.com/) 吗?我想像Vimeo在编辑器中使用的那样使用它。 ![图片](https://user-images.githubusercontent.com/68583645/117104731-4b032c00-ad9a-11eb-9ddd-d7bb8acb41da.png) 情景: 我在我的Wistia领域有个视频,请让路径 https://mydomain.wistia.com/medias/VIDEO_ID。我必须添加那个URL或视频,因为我们正在编辑器>视频设置中添加带有视频ID的YouTube视频链接。 期待屏...

artf

当然,只要检查当前的 [ComponentVideo](https://github.com/artf/grapesjs/blob/dev/src/dom_components/model/ComponentVideo.js) 实现,并根据需要扩展它。

ClaudeCode

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

浏览所有主题