我们在应用程序中使用CKEditor让用户编辑某些电子邮件模板,但由于某些原因,许多模板最终都会出现带有恼人文本样式的p-和span-tags:
<p style="font-size: 13.333333969116211px;">
或者使用行高:
<span style="font-size: 13.333333969116211px; line-height: 1.231em;">
我们的客户抱怨他们的电子邮件出现了奇怪的文本样式,并明确表示他们没有手动添加这些样式(这是有道理的).
奇怪的是:一旦我们使用相同的编辑器自己保存模板,那些奇怪的样式就会从源HTML(在数据库中)中消失.然后过了一会儿,所有这些风格都会在那里滑回 – 大概是当客户(重新)使用我们的编辑器时.
我们决定使用Google确切的字符串,字体大小:13.333333969116211px,以及 – 令我们惊讶的是 – found 80.000 completely unrelated results.字体大小值显然是通过某种计算(100 / 7.5)创建的,但我不知道在哪里查看.
有谁知道这些字符串的来源以及我们如何摆脱它们?
最佳答案 这些丑陋的< span>标签甚至更丑陋的内联样式是由基于Blink和Webkit的浏览器中的退格/删除的本机实现创建的.复制和粘贴内容或拖放时也可以显示它们.
差不多两年前,我在这里报告了退格和删除的问题:
> https://code.google.com/p/chromium/issues/detail?id=226941
> https://bugs.webkit.org/show_bug.cgi?id=114791
我们相信,在我们拥有的用户的支持下(我不知道任何喜欢当前行为的人),我们将能够说服浏览器供应商改变这种行为(遗憾的是,他们可能会这样做).所以我们等了,我相信一年,但我们甚至没有得到答案这是否是预期的行为以及是否有机会在某一天修复它.
因此,在CKEditor 4.4.1和4.4.2中,我们发布了针对退格和删除的大多数常见问题的补丁.此外,CKEditor以自定义方式处理复制和粘贴,因此如果启用了Advanced Content Filter,那么大部分糟糕的HTML混乱将被过滤掉.
剩下的部分是我们在0700年正在进行的拖放自定义处理.它将在2015年初发布.