在解析内容时模仿自定义RTE的行为
现在我仔细想想,选项1对我来说不太适用,因为我想防止任何内嵌样式被移除,也防止任何ID/类/属性被添加到子元素中。所以我想剩下的就是选项二,或者我没想到的另一个解决方案。
阅读下方完整回答 ↓问题
你好,@artf, 我想在调用editor.setComponents("<div>This is a text component. <span style='font-size: 20px;'>This is a nested element that I don't want get parsed out.</span></div>")时复制[https://github.com/artf/grapesjs/blob/f74791da68b25d1037502a2ad06093da29e25830/src/dom_components/view/ComponentTextView.js#L69)的行为。在这个例子中,我希望嵌套span不会被解析为独立组件,这样我就无法选择它或以任何方式交互它(就像我在div上启用或禁用自定义RTE一样)。 我看到两个选项:调用 editor.setComponents后,程序性地启用和禁用外部 div 的 RTE,使得子元素和文本在 div上被视为content。我很确定这方法不用修改核心也能用grapesjs......还没测试过。修改[ParseHtml.parseNode](https://github.com/artf/grapesjs/blob/f74791da68b25d1037502a2ad06093da29e25830/sr...
回答(3)
现在我仔细想想,选项1对我来说不太适用,因为我想防止任何内嵌样式被移除,也防止任何ID/类/属性被添加到子元素中。所以我想剩下的就是选项二,或者我没想到的另一个解决方案。
嘿,Ryan,这个自定义组件怎么样 “''js const domc = 编辑。主导组件; const textType = domc.getType('text'); domc.addType('raw-text', { model: textType.model.extend({ },{ isComponent: function(el) { if (el.hasAttribute && el.hasAttribute('data-raw-text')) { 返回 { 类型:'raw-text', 内容:el.innerHTML, 组件:[] // 这将避免解析子节点 }; } } }...
谢谢@artf!我猜你的建议对我有效——我会在接下来的几个小时内试试。
相关问答
通过相似的问题讨论继续研究。
问题 #1754
Ckeditor 样式问题(4)
大家好,@artf们! 再次感谢你出色的工作! 我尝试用 grapesjs 实现 ckeditor,似乎基本正常工作,但今天我发现了一些奇怪的东西。我试着截图了,如果不清楚请告诉我......我选择白色文本,它会样式化跨度元素,一切正常。 的属性'toPerCase' “JavaScript 编辑。StyleManager.addSector('te...
问题 #513
模型及返回的HTML问题
I have below code to create custom component and wants to retrieve updated html via editor.html() but return wrong html, I am sure I am mis...
问题 #581
阅读组件相关事件
[Editor API wiki](https://github.com/artf/grapesjs/wiki/API-Editor) 列出了一组可以监听的组件相关事件(例如 'component:add', 'component:update')。然而,没有提及监听者接收到的...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
浏览插件分类
直接跳转到市场上的插件分类页面。