【发布时间】:2019-07-10 10:49:47
【问题描述】:
我正在通过调整现有的“图像”插件为 CKEditor 创建一个插件,使其更适合我们的目的。
它的一个问题是,如果您编辑图像,它往往会弄乱现有属性。例如,任何带有左或右 'align=' 属性的东西都会在图像被编辑后更改为 'float:' 样式,即使您没有进行任何更改。此外,任何设置为“自动”的内容也会被删除。
对于普通的 html,这不是问题,但我们正在创建响应式电子邮件,并且需要这些属性才能使它们在 Outlook 中正确显示。
我正在尝试使其根据运行良好的原始值保留某些属性。但是,我遇到了 'margin' 属性的问题。
我们的电子邮件模板之一中的图像将 margin: style 属性设置为“0 auto”。 CKEditor 似乎将所有 Html 处理成一个 DOM 结构,并添加了它存储和工作的 ID - 但是当这个值被处理并包含在这个内部 DOM 中时,它已经变成了
margin: "0px"
margin-top: "0px"
margin-bottom: "0px"
margin-left: "0px"
margin-right: "0px"
没有原始“自动”值的迹象。
有什么方法可以访问元素的原始非 DOM 化 HTML 字符串,以便我可以检索原始样式属性?
我已经在对话框和 CKEDITOR 对象内部进行了探索;我发现 CKEDITOR 对象确实使用未处理的样式属性存储了“原始”DOM 结构本身,但是缺少一些极其复杂的遍历,我找不到引用回这个未处理 DOM 中元素的方法。
【问题讨论】:
标签: javascript html plugins ckeditor