代码之家  ›  专栏  ›  技术社区  ›  nimser

禁止复制/粘贴以将网页样式复制到RTF编辑器

  •  2
  • nimser  · 技术社区  · 14 年前

    我已经试了两天了,现在有几个javascript轻量级富文本编辑器(rte),比如 nicEdit , mooEditable , MooRTE (最后两个被考虑是因为它们使用了我在这个项目中使用的MooTools框架)。

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

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

    我只希望我的用户能够使用编辑器进行一些基本的格式化,比如将一些文本加粗、倾斜、添加链接和缩进段落。

    另一种选择可能是 showdown (我敢打赌,stackoverflow使用了这个类型的编辑器),因为这种类型的编辑器(带有预览框)不受上述问题的影响(当您在文本区域粘贴某些内容时,它是未格式化的文本)。 但是,我不确定这是否适合我的情况,因为编辑器将被用来写长文章(比大多数stackoverflow文章长得多)。在这种情况下,我认为最好有一个合适的编辑器来立即呈现事物(我的意思是在文本区域,而不是在预览框中)。在我看来,真正的WYSIWYG编辑器更吸引人,更容易使用。

    有没有一个简单的方法来修改一个RTE,以便当我粘贴一些文本时,它是不格式化的? 或者您认为我应该使用StackOverflow使用的解决方案?( 摊牌 或者类似的)或者你知道没有我提到的复制粘贴问题的RTE吗?

    请注意,我没有尝试过ckeditor、fckeditor和tinymce,因为它们太复杂(太重),来自yui的看起来不错,但需要整个库才能工作。

    谢谢,

    模糊的,模糊的

    1 回复  |  直到 14 年前
        1
  •  0
  •   Sparafusile    14 年前

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

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

    不知道利润从何而来,但你去吧。