Я должен реализовать задачу, которая является довольно типичной функцией RichTextEditors - берут HTML от буфера обмена. Кто-либо может помочь с руководством по тому, как решить эту задачу?
Это должно быть кросс-платформенным (IE, FF, Chrome, Opera). Я только что запустил с этого кода:
<script type="text/javascript">
$('.historyText').live('input paste', function(e) {
var paste = e.clipboardData && e.clipboardData.getData ?
e.clipboardData.getData('text/plain') : // Standard
window.clipboardData && window.clipboardData.getData ?
window.clipboardData.getData('Text') : // MS
false;
alert(paste);
});</script>
И window.clipboardData и e.clipboardData являются пустыми (Chrome, Firefox).
Обновление: Пользователь хочет вставить содержание статьи из других окон браузера, и я должен получить теги HTML.
Вы не сможете получить данные из буфера обмена с помощью одного только JavaScript, что и должно быть. В текущих версиях TinyMCE и CKEditor это делается следующим образом:
Обратите внимание, что это работает только для событий вставки с клавиатуры, но не для вставки из контекстного меню или меню редактирования. К тому времени, когда срабатывает событие вставки, уже слишком поздно перенаправлять каретку в div (по крайней мере, в некоторых браузерах).