Доступ к копированию / вставке TinyMCE в буфер обмена

#tinymce #clipboard #copy-paste

#tinymce #буфер обмена #копирование-вставка

Вопрос:

При попытке копирования / вставки в редактор TinyMCE я получаю сообщение «Ваш браузер не поддерживает прямой доступ к буферу обмена. Пожалуйста, вместо этого используйте сочетания клавиш CTRL X / C / V. «….. однако я могу скопировать / вставить в представление кода?

Я даже могу попробовать это на демо-версии вашего веб-сайта с теми же результатами, независимо от того, какой браузер используется. Также те же результаты в Mac OS или Windows.

Ответ №1:

Это ожидаемое поведение в TinyMCE.

Современные браузеры не поддерживают использование JavaScript (запускаемого кнопкой или меню) для доступа к буферу обмена. Это мера безопасности, которую поставщики браузеров ввели некоторое время назад, чтобы помешать злоумышленникам внедрять JavaScript на странице, которая может принимать содержимое буфера обмена без ведома или согласия конечного пользователя. Поддерживаемый способ выполнения копирования / вставки — это команды клавиатуры для копирования, вырезания и вставки.

Tiny знает о таких вещах, как асинхронный API буфера обмена, однако на данный момент этому API не хватает ширины или глубины функций, необходимых для того, чтобы сделать его полезным для обработки HTML и графических данных. Команда инженеров TinyMCE отслеживала этот API, чтобы найти способы улучшить согласованность процесса вставки в TinyMCE. Как только этот API сможет обрабатывать HTML с постоянной поддержкой во всех браузерах, мы рассмотрим возможность внедрения этого в TinyMCE.

Комментарии:

1. Почему тогда копирование / вставка может выполняться в окне просмотра кода?

2. Похоже, что TinyMCE фактически не реализовал API async clipboard, хотя в 2021 году они написали об этом длинную статью в блоге: github.com/tinymce/tinymce/issues/7254