1

我将 CKEditor 用于我的后端应用程序。

我已经按照官方文档中的说明进行了安装(非常简单)。然而,例如,当尝试添加此文本时(我可以在这篇文章中从 SO 复制/粘贴它,它完全相同):

你不只是想让人们听到你的声音。你想让他们听。

新闻剪辑和专栏文章每时每刻都被链接、博客、发布、推文和转发,这对我们来说是一个很大的要求。全国无数的声音在现代媒体的回音室中相互淹没。潜在的革命可能会在公司备忘录上留下脚注,而声誉可能会在发布 Facebook 状态所需的时间内消失或重生。

对于全球的企业和议程制定者来说,这一切都相当于一个重要的问题:“我们如何超越噪音并真正产生影响?”

这就是我们进来的地方。

N** * Communications凭借在政治、宣传和企业领域的丰富公共关系经验,引领着创造性和彻底有效的传播活动,这些活动渗透到全国性的对话中,并将其引导至我们客户的目标。同步嗡嗡声意味着协调噪音。突然间,你被倾听了,而不仅仅是被听到了。

我们为非营利和营利领域的客户提供服务,领导从政治竞选战略到行政演讲写作的项目。我们曾为首席执行官、民选官员、从总统到地方一级的政治候选人以及从 527 个团体到主要国家工会的进步组织工作。

我有这样的事情:

<p>
    &nbsp;</p>
<p 0px="" color:="" font-family:="" font-size:="" hear="" helvetica="" just="" line-height:="" p="" people="" style="margin: 0px 0px 10px; text-align: justify; font-size: 16px; color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px; " t="" them="" to="" want="" you="" you.="">
    &nbsp;</p>
<p 0px="" color:="" font-family:="" font-size:="" hear="" helvetica="" just="" line-height:="" p="" people="" style="margin: 0px 0px 10px; " t="" them="" to="" want="" you="" you.="">
    Barraged as we are with news clips and op-eds that get linked, blogged, posted, tweeted and re-tweeted on a minute-to-minute basis, that&#39;s a lot to ask for. Countless voices across the nation drown each other out in the echochamber of modern media. Would-be revolutions can wind up footnotes on corporate memos, and reputations can die or reincarnate in the time it takes to post a Facebook status.</p>
<p 0px="" above="" agenda-setters="" all="" amounts="" an="" and="" businesses="" color:="" do="" font-family:="" font-size:="" for="" helvetica="" how="" important="" line-height:="" make="" noise="" one="" p="" question:="" really="" rise="" style="margin: 0px 0px 10px; " the="" this="" to="" we="">
    That&#39;s where we come in.</p>
<p 0px="" a="" advocacy="" and="" buzz="" campaigns="" color:="" communications="" conversations="" corporate="" creative="" direct="" downright="" drawing="" effective="" experience="" font-family:="" font-size:="" from="" goals.="" harmonizing="" heights="" helvetica="" in="" infiltrate="" just="" line-height:="" listened="" means="" national="" new="" noise.="" not="" of="" our="" p="" public="" re="" relations="" spearheads="" style="margin: 0px 0px 10px; " suddenly="" synchronizing="" that="" the="" them="" to="" wealth="">
    We service clients in both the nonprofit and for-profit spheres, leading projects which range from political campaign strategy to executive speechwriting. We&#39;ve worked for CEOs, elected officials, political candidates from the presidential to local level, and progressive organizations from 527 groups to major national unions.</p>

这完全是垃圾且无法使用,所以如果我决定保存该文本,这就是我在源代码(如果我单击源代码)和数据库中获得的内容。它似乎肯定来自 CKEditor 本身。

这个问题从何而来?

4

3 回答 3

1

您确定您使用的是最新版本的 CKEditor 并且您没有以某种奇怪的方式对其进行修改吗?我正在选择、复制引用的文本并粘贴到http://ckeditor.com/demo上的编辑器中,这是源代码的一部分:

火狐:

<blockquote>
    <p>
        You don&#39;t just want people to hear you. You want them to listen.</p>
    <p>
        Barraged as we are with news clips and op-eds that get linked, blogged, posted, tweeted and re-tweeted on a minute-to-minute basis, that&#39;s a lot to ask for. Countless voices across the nation drown each other out in the echo chamber of modern media. Would-be revolutions can wind up footnotes on corporate memos, and reputations can die or reincarnate in the time it takes to post a Facebook status.</p>
    <p>
        For businesses and agenda-setters worldwide, this all amounts to one important question: &quot;How do we rise above the noise and really make an impact?&quot;</p>

铬合金:

<p>
    &nbsp;</p>
<p style="margin: 0px 0px 1em; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; background-color: transparent; clear: both; word-wrap: break-word; color: rgb(0, 0, 0); font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; line-height: 18px; ">
    You don&#39;t just want people to hear you. You want them to listen.</p>
<p style="margin: 0px 0px 1em; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; background-color: transparent; clear: both; word-wrap: break-word; color: rgb(0, 0, 0); font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; line-height: 18px; ">
    Barraged as we are with news clips and op-eds that get linked, blogged, posted, tweeted and re-tweeted on a minute-to-minute basis, that&#39;s a lot to ask for. Countless voices across the nation drown each other out in the echo chamber of modern media. Would-be revolutions can wind up footnotes on corporate memos, and reputations can die or reincarnate in the time it takes to post a Facebook status.</p>
<div>
    &nbsp;</div>

现在,是什么导致了浏览器之间的这种差异,第二个来源是否正确?

首先 - 这不是 CKEditor 的错,而是 Chrome 的错,它看起来像这样。它放入剪贴板样式的 HTML,我们对此无能为力。当然你可以说在 TinyMCE 中你只会得到文本,没有格式化。但这是处理粘贴内容的一种盲目方式。这样,TinyMCE 也会丢失编辑器中应用的内联样式 - 例如字体大小。在那里写几个字,应用字体大小,复制和粘贴,你就会失去它。

所以......两个输出(Firefox 和 Chrome)都是正确的,这是我们能做的最好的。但是,如果您的 HTML 确实与您附加的内容相似,那么问题很可能出在您的网站上。

于 2012-10-09T15:14:48.180 回答
1

您的页面中可能与其他 JavaScript 存在冲突,页面中是否正在加载任何其他 JavaScript 库或脚本?

尝试使用在测试页面中设置默认配置设置的基本 CKEditor 可能是一个好主意。这会让你知道它是否真的是 CKEditor 的问题。

如果仍然有问题,请重新下载 CKEditor 和 jQuery,然后再做一个独立的测试页面。

于 2012-10-09T23:14:06.963 回答
1

我找到了解决我的问题的方法。这是因为我拥有的 post 变量在添加到数据库之前被传递到了 trim 和 xss 过滤预处理函数。这就是导致这种奇怪行为的原因。

于 2012-10-10T16:13:25.250 回答