防止复制/粘贴将网页样式复制到富文本编辑器

问题描述:

我想了两天现在几个JavaScript轻量级富文本编辑器(rte),如nicEdit,mooEditable,MooRTE(最后两个被认为是因为他们使用了我用于这个项目的mootools框架)。防止复制/粘贴将网页样式复制到富文本编辑器

我的问题是,当我从网页中复制预先形成的文本(粗体字,链接等),然后将其粘贴到编辑器中时,它看起来已经形成了。

这可能是不错的,但这是一个安全问题,因为如果我复制/粘贴整个网页,它会在编辑器中呈现整个网页。

我只希望我的用户能够使用编辑器进行一些基本的格式设置,例如将某些文本以粗体,斜体,添加链接并缩进其段落。因为这种类型的编辑器(带有预览框)不会遇到上述问题(当你在textarea中粘贴某些东西时,它是无格式的文本)。 但是,我不确定这将被拨给我的情况,因为编辑器将用于编写长文章(比大多数的stackoverflow文章长得多)。在那种情况下,我认为最好有一个适当的编辑器来立即渲染事物(我的意思是在textarea中,而不是在预览框中)。在我看来,一个真正的所见即所得的编辑器更具诱惑力和易用性。

是否有一种简单的方法来修改RTE,这样当我粘贴一些文本时,它将呈现无格式? 或者你认为我应该使用stackoverflow使用的那种解决方案? (showdown或类似)或者你知道一个没有我提到的复制粘贴问题的RTE吗?

请注意,我没有尝试CKeditor,FCKEditor和TinyMCE,因为它们太复杂(重),而YUI中的一个看起来不错,但需要整个库才能工作。

感谢,

FuzzyTern

+0

为什么在粘贴之前不能使用toggleview(mooEditable或类似的)来获取文本,然后将其切换回富文本以摆脱格式。这样用户可以选择是否要保持样式。 – 2010-07-09 15:35:49

您是从富文本源并粘贴到富文本复制目的地。默认情况下,您将在目标中获得富文本。解决此问题的唯一方法是以某种方式捕获粘贴事件,将粘贴操作重定向到纯文本字段,然后将未格式化的文本从纯文本字段复制到富文本目标。

  1. 使用onPaste处理程序来捕捉 粘贴事件(在 Firefox或Opera不工作)
  2. 使用隐藏域的 选定的文本粘贴到。
  3. 将光标所在位置的隐藏字段 的值插入富目的地。

不确定利润来自哪里,但你去了哪里。