【问题标题】:Is there a way to access the original attributes of a ckeditor element?有没有办法访问 ckeditor 元素的原始属性?
【发布时间】: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


    【解决方案1】:

    找到了!

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-02
      • 2013-08-20
      • 2022-08-23
      • 1970-01-01
      • 2016-10-18
      • 2010-09-07
      • 2012-01-09
      • 1970-01-01
      相关资源
      最近更新 更多