有没有办法访问ckeditor元素的原始属性?

时间:2019-07-10 10:49:47

标签: javascript html plugins ckeditor

我正在通过调整现有的“图片”插件为CKEditor创建一个插件,使其更适合我们的目的。

它的一个问题是,如果您编辑图像,它往往会弄乱现有的属性。例如,具有左或右'align ='属性的所有内容在编辑图像后都会更改为'float:'样式,即使您不进行任何更改也是如此。此外,设置为“自动”的所有内容也会被删除。

对于普通的html来说,这不是问题,但是我们正在创建响应式电子邮件,需要这些属性才能使其在Outlook中正确显示。

我正在尝试使其某些属性基于其正常工作的原始值。但是,我遇到了'margin'属性的问题。

我们其中一个电子邮件模板中的图像的页边距:样式属性设置为“ 0自动”。 CKEditor似乎将所有Html处理为具有添加的ID的DOM结构,该ID可以存储和使用它-但是,当此值已被处理并包含在此内部DOM中时,它已更改为

margin: "0px"
margin-top: "0px"
margin-bottom: "0px"
margin-left: "0px"
margin-right: "0px"

没有原始“自动”值的迹象。

有什么方法可以访问元素的原始非DOMed HTML字符串,以便检索原始的style属性?

我在对话框和CKEDITOR对象中都打过电话。我发现CKEDITOR对象确实使用未处理的style属性存储了“原始” DOM结构本身,但是由于缺少一些复杂的遍历,我找不到在该未处理DOM中引用该元素的方法。

1 个答案:

答案 0 :(得分:0)

找到了!

Dialog对象包含一个名为“ cleanImageElement”的对象。这包含了不受干扰的样式属性,从这里可以读取所需的样式标签。