Запрет копирования / вставки для копирования стиля веб-страницы в Rich Text Editor - PullRequest
2 голосов
/ 09 июля 2010

Я пытаюсь в течение двух дней несколько облегченных текстовых редакторов JavaScript (rte), таких как nicEdit , mooEditable , MooRTE (два последнихбыли рассмотрены, потому что они используют фреймворк mootools, который я использую для этого проекта).

Моя проблема заключается в том, что со всеми из них, когда я копирую предварительно форматированный текст с веб-страницы (со словами, выделенными жирным шрифтом, ссылки и т. д.), а затем вставьте его в редактор, он выглядит уже отформатированным.

Это может быть неплохо, но это проблема безопасности, потому что, если я скопирую / вставлю целую веб-страницу, она отобразит всю веб-страницу в редакторе.

Я просто хочу, чтобы мои пользователи могливыполнить какое-то базовое форматирование с помощью редактора, например, выделив текст жирным шрифтом, курсивом, добавить ссылку и сделать отступ в абзацах.

Альтернативой может быть showdown (который - я бы поспорил -используется stackoverflow), потому что редакторы этого типа (с окном предварительного просмотра) не страдают от вышеупомянутой проблемы (когда вы вставляете что-то в текстовую область, это неформатированный текст).Тем не менее, я не уверен, что это будет соответствовать моему случаю, потому что редактор будет использоваться для написания длинных статей (намного дольше, чем большинство сообщений stackoverflow).В этом случае я думаю, что было бы лучше иметь правильный редактор, который отображает вещи мгновенно (я имею в виду прямо в текстовой области, а не в окне предварительного просмотра).А настоящий редактор WYSIWYG, на мой взгляд, более заманчив и прост в использовании.

Существует ли простой способ изменить RTE, чтобы при вставке текста он отображался в неотформатированном виде?Или вы думаете, мне следует использовать решение, которое использует stackoverflow?( вскрытие или подобное) Или вы знаете RTE, у которого нет проблемы копирования-вставки, о которой я упоминал?

Обратите внимание, что я не пробовал CKeditor, FCKEditor и TinyMCE, потому что они слишком сложные (тяжелые), а тот из YUI выглядит хорошо, но для работы нужна вся библиотека.

Спасибо,

FuzzyTern

1 Ответ

0 голосов
/ 15 июля 2010

Вы копируете из источника расширенного текста и вставляете в место назначения расширенного текста.По умолчанию вы получите расширенный текст в пункте назначения.Единственный способ обойти это - каким-то образом захватить событие вставки, перенаправить операцию вставки в текстовое поле, а затем скопировать неформатированный текст из текстового поля в место назначения расширенного текста.

  1. Использованиеобработчик onPaste для захвата событий вставки (не работает в Firefox или Opera)
  2. Используйте скрытое поле для вставки выделенного текста в.
  3. Вставьте значение скрытого поля в форматированный формат.назначение в месте расположения курсора.

Не уверен, откуда берется прибыль, но вы идете.

...