#28202020年6月10日作者 Rubark1 个回答
亲爱的artf 我正在尝试为我的应用添加功能,面向终端用户。它是一个用于动态添加CSS和JS CDN的工具。比如在jsFiddle或Codepen中,当我们添加外部资源(css/js)CDN时。这意味着,在添加 js 或 css 的链接后,它会出现在 Canvas iFrames 的脑海中。可惜我没找到办法做到这一点。我不能用 画布:{ 剧本:['......'], }, 因为最终用户在制作防泥板的过程中可以添加CDN我无法附加到画布头,因为它根本保存不了。 那么,该怎么办?有什么解决办法吗?有包裹吗? @artf
artf
如果你需要在模板里保存动态 css/js,就必须将它们附加到正文中(例如 'editor.addComponents('<script src=“ ...”>..')') 如果你需要它们在模板之外(模板只管理正体),比如在 <head>,你甚至可以手动附加到画布上,但是否存储/加载它们取决于你自己
#28192020年6月10日作者 akashdesale981 个回答
我编写了以下代码—— const component = editor.getSelected(); component.addTrait({ 名称:“traitName”, 类型:'text',标签:'traitLabel',值:'traitValue' }); const traits = component.get('traits'); traits.forEach(trait => console.log(trait.props()))
artf
特性在使用时会改变组件(及其最终的HTML)。仅仅更新组件中的特征集合并不会对 HTML 端造成任何变化
#28182020年6月9日作者 MarlonV1231 个回答
下午好,GrapesJS可以安装Google Analytics插件,以便监控用这个编辑器创建的每一页,因为它非常完整,我想继续使用它
artf
你必须为此创建一个自定义组件 https://grapesjs.com/docs/modules/Components.html https://grapesjs.com/docs/modules/Components-js.html
#28172020年6月8日作者 rathodrupesha2 个回答
您好,先生, 我们用过 grapesJS 来做页面构建。我们用 grapesJS 和 store 在远程服务器上创建了一个页面。现在我们只想在Angular中展示/预览那个页面。 请告诉我们如何在 Angular 8 中显示只读葡萄 js 预览的解决方案?
artf
只需渲染你存储在远程服务器上的 HTML/CSS 即可
wojiaoxiaomayun
你好,我想在预览界面中动态显示projectData,仅用于预览,没有其他功能,包括右键点击和拖拽等。这不是必须的,也不是HTML/CSS
#28162020年6月8日作者 scane暂无回答
你好, 我写了一个自定义的 GrapesJS 组件。我想通过这个自定义组件实现的是,如果我在 GrapesJS 画布中放置两个相同类型的组件,编辑其中一个组件的样式时,样式管理器会自动更新另一个组件的样式。 有没有办法实现这一点?我查阅了GrapesJS的文档,但没找到相关信息。 谢谢
#28142020年6月5日作者 RJCAM3 个回答
你好,感谢你分享这么好的项目。 我正在尝试在编辑器中自定义一些内容,但有些问题如果能澄清,我会很感激。 最近我创建了一个面板按钮,用来切换编辑器在绝对和默认模式之间切换,完全没问题。 但当我尝试用同样的方法(实际上是同一个代码)来创建另一个面板按钮,允许用户在编辑器中启用/禁用脚本(allowScripts:0或1)时, 我确实看到这是通过“editor.getModel().attributes.allowScripts”函数更改值,但实际上并没有起作用。 当按钮被点击且“允许脚本”按钮激活时,我们应该会看到警报。 但只有在我们用'...allowScripts: 1...' 我们能看到警报,但用自定义面板按钮无法关闭它。 我是...
artf
你可以这样更改:'editor.getConfig().allowScripts = ...'
artf
AllowScripts 是用来支持解析 JS,一旦插入脚本就会被执行,所以你无法移除它(一种方法是访问 iframe 的上下文并手动更改)。
RJCAM
感谢你的回复@artf。问题是,你给我的代码会改变数值,但仍然无法如我上面描述的那样工作。 在我分享的演示中,[(https://codepen.io/RJCAM/pen/xxZbNLw)](URL)有一个按钮,点击后会显示警报。 预期行为: 当按钮禁用允许脚本时 .set({ 标签:“修改文本”, 属性:{ } }) ` 我想给原始文本块添加一个属性,我希望这个属性能让用户选择在另一个时间给组件一个显示和消失的时间。 我的问题是,我可以用哪些属性?如果我在属性里引用一个允许他做这个功能的JavaScript,它能正常工作吗?
artf
你可以做这个“编辑”。Blocks.get('text').set({ attributes: { class: 'my-custom-class' } })'
#28122020年6月1日作者 BerkeAras2 个回答
你好。在最新版本中,无法拖拽按钮。它会给出以下错误: “无效目标位置:未找到目标集合,目标不可丢弃,接受[未定义],组件不可拖拽,[未定义]可接受”
RJCAM
@BerkeAras表单类别内的默认按钮只能在表单块内放置(表单类别内的第一个块)。所有这些方块只能放置在形态内部。如果你想把按钮放在其他组件里,可以自定义一个。 你可以在这里看到如何操作:[https://grapesjs.com/docs/api/block_manager.html#add](网址)
#28112020年5月30日作者 BerkeAras3 个回答
你好。我在控制台上出现了这个错误: 未捕获的类型错误:未能在“节点”上执行“appendChild”:参数1不属于“节点”类型。 这会是什么?
BerkeAras
@artf 抱歉,我遇到了这个问题。这个bug已经修复了。问题是我试图移除设置面板,但出现了排版错误。
RJCAM
你需要更具体地说明你想做什么,以及你是怎么出现这个错误的。
BerkeAras
我什么都不做。如果我只是把GrapesJS放在我的页面上,就会发生这种情况。
#28102020年5月30日作者 BerkeAras2 个回答
你好! 有没有可能为非开发者或不懂CSS基础的人制作一个版本?我正在编写一个CMS,大多数用户不知道Absolute是什么位置,他们只是想把元素拖拽到他们想要的位置。
Ju99ernaut
'Grapesjs' 已经支持自由移动组件,请查看 issue #1936