问题 #2029✓ 已解决提出于 2019年5月23日作者 arachnosoft3 个反应

如果你导入带有无效(编号)属性的 HTML 内容,grapesjs 会抛出 DOMException

快速解答作者 arachnosoft2

为了让你了解情况,我把@ankx06和@artf建议的尝试/接住修正应用到了我们的代码上,但方式很通用。 我想确保在调用 setComponents() 的所有情况下都能捕捉到异常。 要么来自我们的代码,要么更重要的是(据我所知,@ankx06的例子没有涵盖)导入代码窗口。 于是,我用 JavaScript 闭包技术将原来的 setComponents() 函数封装在一个新的函数中,并放入 try/catch: https://stackoverflow.com/a/10427757 “''js var myGrapesJsObject = grapesjs.init(...); myGrapesJsObject.setCompo...

阅读下方完整回答 ↓

问题

你好@artf, 我们收到报告说,当你导入一些带有错误属性的HTML代码时,比如 '<td class=“cell” 01234=“0” >世界好! </td>` grapes.js 会抛出以下未捕获的 DOMException:未能对 'Element' 执行 'setAttribute':“01234” 不是有效的属性名。 在HTMLTableCellElement。<anonymous> (https://grapesjs.com/js/grapes.min.js?v0.14.61:3:3229) 在x(https://grapesjs.com/js/grapes.min.js?v0.14.61:3:1245) 在M.each(https://grapesjs.com/js/grapes.min.js?v0.14.61:3:4121) 在M.ATTR(https://grapesjs.com/js/grapes.min.js?v0.14.61:3:3195 年) 在M.ATTR(https://grapesjs.com/js/grapes.min.js?v0.14.61:3:3276) 在 i.updateAttributes (https://grapesjs.com/js/grapes.min.js?v0.14.61:2:60111) 在 i.renderAttribu...

回答(3)

👍 最有帮助arachnosoft2019年8月14日

为了让你了解情况,我把@ankx06和@artf建议的尝试/接住修正应用到了我们的代码上,但方式很通用。 我想确保在调用 setComponents() 的所有情况下都能捕捉到异常。 要么来自我们的代码,要么更重要的是(据我所知,@ankx06的例子没有涵盖)导入代码窗口。 于是,我用 JavaScript 闭包技术将原来的 setComponents() 函数封装在一个新的函数中,并放入 try/catch: https://stackoverflow.com/a/10427757 “''js var myGrapesJsObject = grapesjs.init(...); myGra...

ankx062019年8月7日

@jmchaves这并非任何事件判定。这是用来更新组件内部组件/html的函数。

ankx062019年5月27日

我在设置图片高度/宽度的无效属性/样式时也遇到过这个问题。 目前,我使用的是尝试接球块 “''js static updateInnerHTMLofComponent(component, newContent) { 将内部内容设为空 // 这是可选的 component.set(“content”, “”); 在组件中添加新内容。这样可以移除现有的子组件并创建新的子组件 试试{ component.components(newContent); } 捕获(错误){ 当用户将无效属性设置为某个组件时,处理组件渲染失败 this.hendleComponentRenderFailed(comp...

相关问答

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

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

浏览插件分类

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