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

标签 javascript formatting editor copy-paste rte

这两天我正在尝试几个 JavaScript 轻量级富文本编辑器 (rte),例如 nicEdit , mooEditable , MooRTE (考虑了最后两个,因为它们使用了我在这个项目中使用的 mootools 框架)。

我的问题是,对于所有这些,当我从网页复制预先格式化的文本(带有粗体字、链接等...),然后将其粘贴到编辑器中时,它似乎已经格式化。

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

我只是希望我的用户能够使用编辑器进行一些基本的格式化,例如将一些文本设置为粗体、斜体、添加链接并缩进他们的段落。

另一种可能是 showdown (我敢打赌 - 被 stackoverflow 使用),因为这种类型的编辑器(带有预览框)不会遇到上述问题(当您在文本区域中粘贴内容时,它是未格式化的文本)。 但是,我不确定这是否适合我的情况,因为编辑器将用于撰写长文章(比大多数 stackoverflow 帖子长得多)。在那种情况下,我认为最好有一个合适的编辑器来立即呈现东西(我的意思是在文本区域中,而不是在预览框中)。在我看来,真正的所见即所得编辑器更具吸引力且易于使用。

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

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

谢谢,

模糊燕鸥

最佳答案

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

  1. 使用 onPaste 处理程序捕获 粘贴事件(不适用于 Firefox 或 Opera)
  2. 使用隐藏字段粘贴 选定的文本。
  3. 插入隐藏字段的值 进入富裕的目的地 光标位置。

不确定利润从何而来,但就是这样。

关于javascript - 防止复制/粘贴将网页样式复制到富文本编辑器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3214021/

相关文章:

javascript - 如何从字符串中获取最后一个单词的名称

javascript - 将 BasicForm 绑定(bind)到 Ext.Toolbar

javascript - 单击嵌入 Shiny 的 googlevis 折线图中的图例时如何隐藏系列

python - 使用许多 Pandas 列创建一个新列的字符串格式

c# - 为什么 1 000 000 不等于 1000000.toString ("N", new CultureInfo ("fr-FR"))

macos - 如何让 textmate 与 NFS 配合使用?

python - 我在哪里放置 IPython 配置文件?

javascript - fullcalendar 不适用于 Mozilla 和 Internet Explorer

android - 使用gradle的android格式源代码

html - 关于 HTML 代码