' font-size:13.333333969116211px'来自?

时间:2014-12-12 10:42:48

标签: php html css ckeditor

我们在应用程序中使用CKEditor让用户编辑某些电子邮件模板,但由于某些原因,这些模板中的许多最终都带有p - 和span - 带有恼人文本样式的标签:

<p style="font-size: 13.333333969116211px;">

或使用line-height:

<span style="font-size: 13.333333969116211px; line-height: 1.231em;">

我们的客户抱怨他们的电子邮件出现了奇怪的文字样式,并且非常清楚他们没有手动添加这些样式(这很有意义)。

奇怪的是:一旦我们使用相同的编辑器自己保存模板,那些奇怪的样式就会从源HTML(在数据库中)中消失。然后过了一会儿,所有这些风格都会在那里滑回 - 大概是当顾客(重新)使用我们的编辑时。

我们向Google确定了确切的字符串font-size: 13.333333969116211px,并且令我们惊讶的是found 80.000 completely unrelated results。 font-size值显然是通过某种计算(100 / 7.5)创建的,但我不知道在哪里查看。

有谁知道这些字符串的来源以及我们如何摆脱它们?

1 个答案:

答案 0 :(得分:2)

这些丑陋的<span>标签甚至更粗糙的内联样式都是由基于Blink和Webkit的浏览器中的 backspace / delete 的本机实现创建的。它们也可以在复制和粘贴内容或拖放时显示。

差不多两年前,我在这里报告了 backspace delete 的问题:

我们相信,在我们拥有的用户的支持下(我不知道任何喜欢当前行为的人),我们将能够说服浏览器供应商改变这种行为(不幸的是,他们可能会这样做) )。所以我们等了一年,我相信一年,但我们甚至没有得到答案,这是否是预期的行为以及是否有机会在某一天修复它。

因此,在CKEditor 4.4.1和4.4.2中,我们发布了针对 backspace delete 的大多数常见问题的补丁。此外,CKEditor以自定义方式处理复制和粘贴,因此如果启用了Advanced Content Filter,那么大部分糟糕的HTML混乱将被过滤掉。

剩下的部分是我们正在CKEditor 4.5.0中进行拖放的自定义处理。它将于2015年初发布。