JavaScript вообще не имеет прямого доступа к буферу обмена. Однако все основные браузеры, выпущенные за последние несколько лет, имеют встроенную функцию редактирования WYSIWYG через атрибут / свойство contenteditable
любого элемента (что делает редактируемым только этот элемент) и свойство designMode
объектов документа (которое делает весь документ редактируемым).
Пока пользователь редактирует содержимое страницы, если он запускает вставку (с помощью сочетаний клавиш, таких как Ctrl + V или Shift + Вставьте или через меню «Редактирование» или «Контекст»), браузер автоматически обрабатывает весь процесс вставки без какого-либо вмешательства со стороны JavaScript. Часть этого процесса включает сохранение форматирования, где это возможно.
Однако созданный HTML-код может быть ужасным и сильно различаться в зависимости от браузера. Многие WYSIWYG-редакторы, такие как TinyMCE и CKEditor, используют трюки , чтобы перехватить вставленный контент и очистить его, прежде чем он достигнет редактируемой области редактора.