PageKit — 可自托管的 GrapesJS 建站工具,附完整源码。 获取抢先体验

问题 #2297✓ 已解决提出于 2019年9月27日作者 umerrinayat2 个反应

通过拖放添加脚本,动态添加元素

快速解答作者 umerrinayat❤ 2

终于解决了@pouyamiralayi谢谢你的帮助。使用你的解决方案后,它会把脚本插入正确的位置。

阅读下方完整回答 ↓

问题

你好。感谢你带来这个很棒的项目。我正在用它做我的一个项目,需要一些帮助。 1- 我有一个包含脚本的块元素。这个脚本在iframe内动态添加表单。 当我拖拽脚本到页面上的任意位置时, Grapesjs 忽略位置,直接渲染页面末尾的表单。 ![截图,2019-09-27 12-32-54](https://user-images.githubusercontent.com/9118214/65742551-358c4180-e123-11e9-8527-e7901d64d6da.png) 但当我导出 HTML 和 CSS 时 grapesjs 位置却是正确的。为什么会这样? ![截图来自2019-09-27 12-39-42](https://user-images.githubusercontent.com/9118214/65742988-3920c800-e125-11e9-87dd-48386b7083d0.png) 2- 当我在初始化函数中启用“allowScripts: 1” grapesjs 我可以添加脚本,但无法拖放(使用)自定义块元素 如果关闭了“allowScript”,我可以用自定义块元素,但不能添加脚本。

回答(3)

👍 最有帮助umerrinayat• 2019年10月3日

终于解决了@pouyamiralayi谢谢你的帮助。使用你的解决方案后,它会把脚本插入正确的位置。

pouyamiralayi• 2019年9月27日

嗨!你试过把你的脚本放进脚本标签吗?这样一来,end_时_executed,并且很可能符合你想要的顺序:

编辑。BlockManager.add('form-block', {
    脚本: function(){/* your-js */}
}

干杯。

artf• 2019年9月28日

当我拖拽脚本到页面上的任意位置时, Grapesjs 忽略位置,直接渲染页面末尾的表单。 说实话我也不清楚,这完全取决于第三方库(你说的是GetResponse)以及加载后如何附加内容当我在 init 函数中启用“allowScripts: 1” grapesjs 我可以添加脚本,但无法拖放(使用)自定义块元素 首先,在你的块里不需要用 html、 head、 body 标签。你是在 body 已经定义好的文档里放HTML片段...... 我强烈建议你了解一下[组件](https://grapesjs.com/docs/modules/Components.html),这样你能获得比简单方块...

相关问答

通过相似的问题讨论继续研究。

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

浏览插件分类

直接跳转到市场上的插件分类页面。