GrapesJS 问题

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

找到 3,464 个问题

#4442017年10月23日作者 ronaldaug3 个回答
6 个反应

如何将 CSS 链接加载到头标签中?

你好, 首先,感谢你贡献了这样一个出色的 js 框架。 我对葡萄非常陌生。GitHub 也是。 https://github.com/artf/grapesjs/wiki/Components-&-JS#template-related 根据 grapesjs wiki,我在画布里加载 js 链接,就像上面的代码一样,运行正常。 但当我尝试用这种CSS链接时,它不起作用。 这里有人建议直接在id=“gjs”下面添加那些CSS链接。 我做了,但如果我清理画布,CSS链接也会被清理,CSS就不再工作了。 我的问题是,我该如何将CSS链接加载到头标签中?

artf

你差点就到了:) “''js 画布:{ 斯泰尔斯:“https://......” } ```

ronaldaug

非常感谢@artf,效果非常好。

coder-strange

渲染时必须单独添加,getHtml() 里不会有。

#4432017年10月21日作者 roytang2 个回答
0 个反应

有没有可能限制某一个组件只能添加到画布上?

我们想定义一个自定义组件,可能会被添加到也可能不会,但我们希望不允许添加多个该组件。这个限制可以在GrapesJS里实现吗?

artf

虽然不是内置的,但用 GrapesJS 的 API 绝对可以实现 非常简单的方法是添加一个监听器(例如,'change:changesCount'),搜索组件,然后应用你的逻辑 “''js editor.on('change:changesCount', () => { editor.getComponents().each(model => ...) }) ```

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#4422017年10月21日作者 roytang3 个回答
0 个反应

在 Grapesjs 画布中包含外部样式表有可能吗?

我们想创建一些自定义组件,这些组件的样式会根据外部主题CSS发生变化(可以有不同的主题),并且希望这些样式在编辑时能出现在画布中。

roytang

请忽略。我最终用JavaScript把样式表链接注入Grapes的画布iframe里 将外部样式表插入 Grapesjs 窗口 var iframes = Utilities_GetElementsByClass(“gjs-frame”, “IFRAME”, document.body); 对于(var i=0; i<iframes.length; i++) { var iframe = iframes[i]; var doc = iframe.contentDocumen...

artf

你可以通过Canvas配置选项注入脚本/样式 “''js const editor = Grapesjs.init({ ... 画布:{ 风格:['https://...', '...'], 脚本:['https://...'], } }); ```

roytang

谢谢!

#4412017年10月20日作者 santiph3 个回答
0 个反应

忽略/避免变更计数

由于 https://github.com/artf/grapesjs/issues/436,我无法依赖 StorageManager 的远程加载方法从 REST 端点加载模板,所以我只能用 'editor.setComponents()' 和 'editor.setStyle()' 这两个替代工具(这些工具在命令中使用,所以可以使用 'grapesjs' 和 'editor')。 不幸的是,这些方法会让“changesCount”增加,并在用户试图离开网页时触发“onbeforeunload”事件。 此外,命令中包含诸如“editor.editor.set('changesCount', 0);”这样的句子是无用的,因为命令一结...

artf

@santiph好,如果问题是“onbeforeunload”,可以用“noticeOnUnload”禁用它。 “''js Grapesjs.init({ ... noticeOnUnload: false }) ```

santiph

你好@artf 我需要持续提醒用户任何未保存的更改。当没有新内容需要保存时,跳过它:当创建新的空模板时,无论是保存完还是加载模板后,都不应显示任何确认信息。 通过StorageManager保存场景是正常的。加载时不行,遗憾的是。至少当组件、样式、HTML 等内容是通过编辑器的 API 加载,而不是通过 StorageManager .load() 加载时,是这样。

santiph

我可以用远程存储完整测试: “onbeforeunload”在保存后关闭时如预期般被禁用。 不幸的是,加载新模板后关闭时,它仍然显示。 经过一番调试,加载新模板似乎会将“changesCount”提高到1。 (加载“changesCount” = 1。加载 'changesCount' = 2.加载“changesCount” = 3.) 如果模板更改的原因是加载新模板,这个计数器怎么可能重置?

#4402017年10月20日作者 ateshuseyin3 个回答
0 个反应

不支持 jquery

我在项目中使用jquery。0.12.8版本之后,它无法与jquery兼容。 我的webpack.config的prt是; 当我尝试放下方块时,它会扔出去;ComponentsView.js:76 未捕获类型错误:无法读取未定义的属性“长度” at child.addToCollection (ComponentsView.js:76) at child.addTo (ComponentsView.js:22) 在 triggerEvents (backbone.js:371) at triggerApi (backbone.js:356) 在eventsApi(backbone.js:155) 在孩子时。Events.trigg...

artf

你所有的方块都会出现同样的错误吗?即使是官方的?

ateshuseyin

右。我在 mjml 插件中定义的所有方块都遇到同样的错误。

artf

好的,我想弄清楚这是不是和jquery有关。你能在没有 mjml 插件的情况下复现它吗?(最新版本)

#4392017年10月20日作者 ateshuseyin3 个回答
1 个反应

不稳定

在我的机器里葡萄不稳定。通常,第一次请求时会有以下错误。刷新一两次后,它就能正常工作了。我用过的所有版本都有这个bug。未捕获的类型错误:无法读取未定义的属性“componentTypes” 在F.i.renderChildren(grapes.min.js:2) 在F.i.render(grapes.min.js:2) 在F.i.addToCollection(grapes.min.js:2) grapes.min.js:2 在Function.C.each.C.forEach (grapes.min.js:2) 每场(grapes.min.js:2) 在F.i.render(grapes.min.js:2) 在F.i.rend...

ateshuseyin

我找到了问题所在。我的一个Chrome扩展(我记得是Backbone Inspector)导致了这个问题。问题可以结案

ateshuseyin

另一个错误是;components.js:169 未捕获类型错误:无法读取未定义属性的“defaultTypes” 在child.renderChildren(components.js:169) 在child.render(components.js:212) 在child.addToCollection(ComponentsView.js:65) ComponentsView.js:107 在 Function..each..forEach (underscore.js...

artf

奇怪,我以前没遇到过这些问题,但如果你在['components.js'](https://github.com/artf/grapesjs/blob/dev/src/dom_components/model/Components.js)里看到'defaultTypes',那你肯定是在用旧版本的grapesjs

#4382017年10月19日作者 Geczy3 个回答
0 个反应

导入了HTML,我可以移动组件但不能编辑它们

我所做的只是导入了HTML,但无法修改HTML中的文本 我无法输入任何内容或删除任何文字 “''js const editor = window.grapesjs.init({ storageManager: { 自动加载:0, }, 插件: ['gjs-plugin-filestack'], pluginsOpts: { 'gjs-plugin-filestack': { 说明:process.env.REACTAPPFILESTACKKEY, filestackOpts: { 接受:'image/*', maxFiles:10, storeTo: { 位置:'S3', 路径: '/${btoa(this.props.appli...

Geczy

这就是我使用的 HTML https://pastebin.com/wNseLeqh 是因为文本没有被“'包裹<p>”吗?

artf

这是因为“td”组件[不可编辑](https://github.com/artf/grapesjs/blob/dev/src/dom_components/model/ComponentTableCell.js),所以最简单的解决办法是,正如你已经掌握的,把它包裹在其他组件里。否则,你应该扩展TableCell

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#4362017年10月19日作者 santiph3 个回答
0 个反应

RemoteStorage - 加载模板使用 POST

我正在使用自定义模块来保存/加载一个模板,服务如下: 存档是另一个模块,但运行正常。问题出在 Load() 调用上。不知为何,Grapes 对“localhost:8000/templates/5”执行 POST 操作,结果触发了 405 - 后端不允许的方法。 如果请求中没有指定方法选项,RemoteStorage 模型中的取取调用默认为 POST。 https://github.com/artf/grapesjs/blob/dev/src/storagemanager/model/RemoteStorage.js#L123 而 Load 在调用 'this.request()': https://github.com/artf...

santiph

已解决

suresh5

你好,你能在发送加载模板时给我分享一下JSON吗?

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#4342017年10月19日作者 vandanaqburst2 个回答
0 个反应

厂商前缀

调用 setComponents 时,供应商前缀被截断。

artf

这是因为浏览器的解析器,我已经在[路线图](https://github.com/artf/grapesjs/issues/74)中添加了自定义解析器的功能。

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#4332017年10月18日作者 cindygao933 个回答
0 个反应

未压缩的grapjes.js文件?

我下载了git仓库,但只找到grapes.min.js。我真的很想深入研究代码,更好地理解所有文件之间的关系,但我找不到未压缩版本。有人能告诉我它在仓库里的位置吗?如果没有,是否可以让未压缩版本在某处提供?

ateshuseyin

葡萄没有未压缩版本。我认为这是必要的。在@artf添加未压缩版本之前,先检查项目,然后把 grapesjs 关联到你的项目里。参见:https://docs.npmjs.com/cli/link

artf

你好@cindygao93如果你想深入了解代码,只需查看['/src'](https://github.com/artf/grapesjs/tree/dev/src)文件夹即可

z-vr

@artf“/src”是个不错的起点,但 “''js const Editor = require('editor'); const PluginManager = require('plugin_manager');

浏览所有主题