这两天我正在尝试几个 JavaScript 轻量级富文本编辑器 (rte),例如 nicEdit , mooEditable , MooRTE (考虑了最后两个,因为它们使用了我在这个项目中使用的 mootools 框架)。
我的问题是,对于所有这些,当我从网页复制预先格式化的文本(带有粗体字、链接等...),然后将其粘贴到编辑器中时,它似乎已经格式化。
这可能很好,但这是一个安全问题,因为如果我复制/粘贴整个网页,它将在编辑器中呈现整个网页。
我只是希望我的用户能够使用编辑器进行一些基本的格式化,例如将一些文本设置为粗体、斜体、添加链接并缩进他们的段落。
另一种可能是 showdown (我敢打赌 - 被 stackoverflow 使用),因为这种类型的编辑器(带有预览框)不会遇到上述问题(当您在文本区域中粘贴内容时,它是未格式化的文本)。 但是,我不确定这是否适合我的情况,因为编辑器将用于撰写长文章(比大多数 stackoverflow 帖子长得多)。在那种情况下,我认为最好有一个合适的编辑器来立即呈现东西(我的意思是在文本区域中,而不是在预览框中)。在我看来,真正的所见即所得编辑器更具吸引力且易于使用。
有没有一种简单的方法来修改 RTE,以便在我粘贴一些文本时它呈现为无格式? 或者您认为我应该使用 stackoverflow 使用的那种解决方案? (showdown 或类似的)或者您知道没有我提到的复制粘贴问题的 RTE 吗?
请注意,我没有尝试 CKeditor、FCKEditor 和 TinyMCE,因为它们太复杂(太重),而且来自 YUI 的看起来不错,但需要整个库才能工作。
谢谢,
模糊燕鸥
最佳答案
您正在从富文本源复制并粘贴到富文本目标。默认情况下,您将在目的地获得富文本。解决此问题的唯一方法是以某种方式捕获粘贴事件,将粘贴操作重定向到纯文本字段,然后将未格式化的文本从纯文本字段复制到您的富文本目标。
- 使用 onPaste 处理程序捕获 粘贴事件(不适用于 Firefox 或 Opera)
- 使用隐藏字段粘贴 选定的文本。
- 插入隐藏字段的值 进入富裕的目的地 光标位置。
不确定利润从何而来,但就是这样。
关于javascript - 防止复制/粘贴将网页样式复制到富文本编辑器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3214021/