'allowScripts: true' 仍然会删除<script>标签
问题
大家好。感谢你创建并维护这个了不起的项目。🙏虫子描述 我有一个模块,可以插入这里指定的脚本:https://grapesjs.com/docs/modules/Components-js.html#basic-scripts 当我把方块拖到画布时,组件确实会把脚本附加到自己身上。但是,当我重新加载页面时,脚本已经不存在了。 我见过多个问题被讨论过,似乎都通过添加 “''js const editor = Grapesjs.init({ ... allowScripts:1, }); ``` 示例: https://github.com/artf/grapesjs/issues/1123 https://github.com/artf/grapesjs/issues/837 https://github.com/artf/grapesjs/issues/721 然而,'allowScripts: 1' 似乎对我没用。预料中 我预计它们<script>还会在那里,因为“allowScript: 1”。可重复案例 这里有一个可以重现该漏洞的CodeSandbox:https://codesandbox.io/s/compassionate-gagarin-dclo5 繁殖步骤:拖拽一个“按钮”方块到画布上。点击按钮。它显示了警报。如果你打开显示代码的模态,可以看到脚本的代码。重新加载...
回答(3)
你能给出这个问题的解决方案吗?
谢谢你的报告@Sparragus 问题在于你在 Blocks 里用“脚本”函数。当编辑器尝试存储 JSON 时,结构会被序列化,但函数不可序列化,因此该组件会存储一个空的“脚本”字符串。 我知道文档里是这么说的,但我们用块只是为了展示快速示例,实际上你应该总是为带脚本的模块创建一个自定义组件。 “''js 编辑。DomComponents.addType('foo-button', { 型号:{ 默认值:{ 标签名称:“button”, 名称:“纽扣”, 内容:“按钮” 脚本:function() { this.addEventListener(“点击”,() => { 警报(“喵”); }...
@artf 感谢你的澄清。干杯。
相关问答
通过相似的问题讨论继续研究。
问题 #3316
编辑器不会移除死稿块
版本: 0.16.34 你能重现演示中的bug吗? [ ] 是的 [x ] 不 据我了解,导入代码对话框跳过了所有HTML脚本,所以我无法在演示中重现这个问题 预期的行为是什么? 编辑者必须先移除失效脚本块,才能在生成的HTML末尾添加新的脚本块 详细描述那个漏洞* 我在项目中...
问题 #5280
视图中的事件处理程序未绑定到组件
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 版本 115.0.5790.114 可复制演示链接 https://jsfiddle.net/mcraf3se/5/ 描述一下那个虫子 你好,我刚开始用GrapesJS,所以很可能我...
问题 #3638
脚本道具无效
你好!@artf,感谢你的精彩工作! 我选择值时会跟着 https://grapesjs.com/docs/modules/Components-js.html#passing-properties-to-scripts,but 操作,脚本没有执行,期待大家的建议,非常感谢!...
问题 #3404
风格管理器问题。
你好@artf我想隐藏和显示特定组件的样式属性。 提到这个问题后,我就说 https://github.com/artf/grapesjs/issues/1428 我用这个方法写代码,但出现了错误 -: “''js 导出默认值(编辑器,配置)=> { const sm = 编辑...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
浏览插件分类
直接跳转到市场上的插件分类页面。