#5582017年11月22日作者 suchithmahadi3 个回答
@artf请你举一个完整的示例,说明使用chart.js来改变颜色、数值和数据点的特征? 如果能得到帮助就太好了。
Geczy
你可以在这里使用沙盒演示 https://github.com/artf/grapesjs/issues/559 它允许你修改特质并更新主导。应该能帮你入门
artf
@suchithmahadi这种问题我建议在 https://stackoverflow.com 上提问
#5572017年11月22日作者 krunal0393 个回答
我能看到 Canvas 上添加了类,但当我通过 editor.gethtml() 获取 HTML 时,有些类没有包含,只有没有任何类的 div。附上截图,Canvas上有HTML和通过editor.gethtml()提供的HTML 
arthuralmeidap
当你使用 'editor.getHtml' 时,它只返回 html 。 如果你也需要 CSS,可以用 'editor.getCss()'。
Geczy
我用的是newsletter-plugin和'const html = window.grapesjs.editors[0].runCommand('gjs-get-inlined-html')'
#5562017年11月22日作者 crestinfo2 个回答
你好, 有没有办法在元素内部移动文本? 类似绝对拖拽的感觉
Geczy
不,不过这已经在路线图上了 https://github.com/artf/grapesjs/issues/74绝对/设计模式 启用此模式后,用户应能在画布内“自由”移动组件(依赖绝对定位)
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
#5552017年11月22日作者 HarshOB3 个回答
你好@artf 我在创建组件时如何传递外部脚本链接?就像这样, bm.add('test-Block2', { 标签:“测试块2”, 属性:{class: 'fa fa-text'}, 内容:{ 脚本: '<script src=“”https://cdn.ckeditor.com/4.6.2/full/ckeditor.js“></script>CKEDITOR.replace( \'editor1\' )', 内容:'<textarea name=“editor1”></textarea>' } }); 现在它显示的是类似意外令牌“<”的错误。
artf
@HarshOB https://github.com/artf/grapesjs/wiki/Components-&-JS#template-related
arthuralmeidap
把“script”标签移到HTML页面导入CKEditor,然后在块里调用脚本。
rohanreddyg
JavaScript 不知怎么的不允许字符串中带 End 标签(“</script>”)。所以只要把代码改成这样: 'script: '<script>alert(“Hi”);<' + '/script>'' `
#5542017年11月22日作者 ryandeba3 个回答
你好,@artf, 在提交拉取请求之前,我想听听你们对以下两项的看法。这些是为了满足我目前正在进行的一个项目的要求,但我希望它们能在 Grapesjs Core 中占有一席之地。防止某些组件出现悬停高亮效果。 组件已经有一个“可高亮”属性,用于虚线轮廓样式。我也在考虑用同一个属性来防止悬停高亮效果,但它也可以是新属性(比如“可悬停”或“highlightOnHover”?)。我还没测试过,但看起来我可以直接在 SelectComponent.updateHighlighter() 里检查属性的值,如果值被设置为 false,可以提前返回。避免选择某些组件。 我也想完全避免点击某些组件时选择它们。我现在有个hack代码,给组件添加了...
artf
1.防止某些组件出现悬停高亮效果。 组件已经有一个“可高亮”属性,用于虚线轮廓样式。我也在考虑用同一个属性来防止悬停高亮效果,但它也可以是新属性(比如“可悬停”或“highlightOnHover”?)。我还没测试过,但看起来我可以直接在 SelectComponent.updateHighlighter() 里检查属性的值,如果值被设置为 false,可以提前返回。 “可悬浮”认可 👍 我想指出不要在 Model 属性中使用“camelCase”命名,因为这会让属性变得...
ryandeba
感谢你的反馈!我已经为这些项目创建了几个拉取请求,如果你想进一步讨论,告诉我。
#5532017年11月21日作者 baxxos3 个回答
你好, 我想问一下,是否有任何现有的支持或 API,可以将新组件添加到现有组件列表中(例如在获取或动态生成组件后)。我说的是类似这样的情况: 我研究过文档,最接近的是“addComponents()”''函数。遗憾的是,该函数没有指定新组件应放置的目标。 我之所以问这个,是因为我的目的是实时协作地使用 GrapesJS,每次用户操作后往返发送整个 HTML 表示实在太慢了。 此致敬礼, 米哈尔
ryandeba
很遗憾,我不知道有没有简单的方法可以在不递归遍历它们的情况下获得某个组件对象,但听起来这是个好主意! 你可能可以这样做,收集所有组件,然后筛选出你想要的(这段代码还没完全测试过,但希望能帮你找到正确的起点): function getAllComponents(component) { 组件 = 组件 ||编辑。DomComponents.getWrapper(); VAR components = component.get(“components”).models; c...
baxxos
感谢大家的回复,我觉得我的问题已经得到解答,没什么好补充的了。我现在要结束这个了,不过“find()”方法会是这个很棒框架中一个受欢迎的补充。
ryandeba
你好@baxxos, 你是不是想做类似的事:https://jsfiddle.net/ztqsugaw/3/?
#5522017年11月21日作者 g41n3 个回答
我发现了这个 这里是#351,但似乎没有重置身体背景...... 还有其他方法吗?
artf
@duskhacker我觉得这有点关联,但不是同一个问题。 你提到CSS是从两个不同的地方生成的,而且它是一种基本的CSS重置 '*{盒子大小:border-box;}'来自 https://github.com/artf/grapesjs/blob/dev/src/editor/config/config.js#L34 以及 'body{margin:0;}来自 https://github.com/artf/grapesjs/blob/dev/src/dom_compo...
ryandeba
你好@g41n, 你能提供一个JSFIDDLE(或类似文件)来说明问题吗?我刚做了这个,先把身体背景色设为蓝色,然后两秒后清除那个样式:https://jsfiddle.net/gn3jtahv/。这对我来说似乎没问题(也用'编辑器'测试过)。CssComposer.getAll().reset()',结果相同),所以我猜你做了什么不同的操作......
g41n
你好,@ryandeba,谢谢你的回复。 经过一番挖掘,这里有一个小提琴 https://jsfiddle.net/x118ks1v/ 和复制步骤:点击重置按钮,重置成功点击正体,从右侧面板切换背景点击重置按钮,重置失败 这个问题似乎只有在你手动从Grapesjs面板更改身体背景后才会出现。 希望这能帮你找到解决办法...... :/
#5512017年11月21日作者 duskhacker3 个回答
我想说明该文档未被保存。知道文档数据是否从上次加载/保存以来发生变化的最佳方法是什么? 谢谢!
duskhacker
完美!非常感谢你的快速回复......还有这个项目。非常好!
artf
有一个内部计数器,你可以这样使用 “''js editor.on('change:changesCount', () => { const editorModel = editor.getModel(); const changes = editorModel.get('changesCount'); 如果(变化) { 肮脏 } }); 同一个 editor.on('change:changesCount', (editorModel, changes) => { ......
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
#5492017年11月20日作者 duskhacker3 个回答
在资产管理器中,当点击移除资产的“x”时,似乎同时触发了“onDelete”事件和“onClick”事件。这样你刚删除的资产就会被放进目标。此外,在关闭资产管理器窗口并重新打开之前,不能点击另一个资产替换目标中的资产。 如果用户不够小心,可能会让文档处于不一致状态,导致服务器无法正常加载。 欢迎任何解决方法的建议。
ryandeba
你好,@duskhacker, 我成功重现了点击“X”键时onClick事件触发的问题(如果有人感兴趣,可以用jsfiddle:https://jsfiddle.net/8v946q4b/3/)。抱歉我现在没太多时间自己调试(如果你还在困扰,明天我可能有时间研究),但我觉得这是个 AssetImageView 对象里应该修复的 bug。我看到“onRemove”方法是调用“e.stopPropagation()”,我认为这是试图阻止onClick方法触发,但如果这确实是意图...
duskhacker
如果你们还在纠结,明天我可能有时间研究 @ryandeba 感谢你的后续回复!这是我对GrapesJS的一个未解决的问题。我知道我不可能在合理的时间内修复它,我对代码库不够熟悉,无法有效调试,所以只能依赖你的专业知识。目前这还不是致命的,我还有很多事情要做,才能进入制作阶段。但如果能在接下来几天修复就太好了!
ryandeba
@duskhacker - 我提交了一个拉取请求,应该能修复这个bug。 https://github.com/artf/grapesjs/pull/560
#5482017年11月20日作者 kickbk3 个回答
只是个想法,你可能想考虑在你的CDN文件中无关地加载Fontawesome。目前“从源代码'http://localhost:3000'访问'https://cdnjs.cloudflare.com/ajax/libs/grapesjs/0.12.37/fonts/fontawesome-webfont.woff2?v=4.7.0'字体已被CORS政策阻止......”在开发环境上。 顺便说一句,我之前没说过,这个项目绝对很棒。
artf
谢谢@kickbk :) 总之,我不太明白你的解决方案具体是什么
kickbk
@artf你在 https://cdnjs.cloudflare.com/ajax/libs/grapesjs/0.12.37/css/grapes.min.css 里提到的FA是'...'FontAwesome';src:url(“../fonts/fontawesome-webfont.eot?v=4.7.0“)' 所以Cloudflare正在尝试从 https://cdnjs.cloudflare.com/ajax/libs/grapesjs/0.12.37/font...
artf
@kickbk其实我计划把FA(#74)从核心依赖中移除,并用SVG替换用过的图标