TinyMCE: копирование-вставка из Документов Google - PullRequest
5 голосов
/ 30 марта 2012

Народ,

Моя компания должна поддерживать следующий рабочий процесс: - В Документах Google создается богатый контент (с простым форматированием - полужирный / курсив, а также гиперссылки) - Этот контент затем вставляется во внутреннюю CMS, которая использует TinyMCE.

Проблема: при вставке файлов все форматирование теряется.

Уже пробовал плагин "вставить из Word" - он не работает.

Пожалуйста, сообщите. Спасибо!

UPDATE : Я сузил проблему до Google Chrome. Firefox работает просто отлично. Я также использовал обратные вызовы paste_pre_processing () - данные будут повреждены, прежде чем попасть туда.

Ответы [ 3 ]

3 голосов
/ 21 апреля 2012

Я закончил тем, что отказался от плагина Paste в TinyMCE.Вместо этого я использовал недокументированное свойство valid_styles TinyMCE.Это решило проблему отлично для моего сценария.Вот фрагмент конфигурации, который мы использовали в итоге:

valid_elements: "a[href|title|target],del,b,strong,del,i,blockquote,p,br,em,ul,li,ol,span[style]",
valid_styles : { '*' : 'font-weight,font-style,text-decoration' },
1 голос
/ 30 марта 2012

Ваша проблема - довольно сложная проблема.

Сначала необходимо убедиться, что tinymce не удаляет теги и атрибуты тегов, которые он распознает как недопустимые (подробнее рассмотрим параметры конфигурации tinymce valid_elements и valid_children ) .

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

0 голосов
/ 28 мая 2019

Я знаю, что этот вопрос задавался очень давно, однако я делаю приложение, которое требует копирования и вставки с google drive в крошечный mce. На самом деле это довольно просто с помощью бесплатного плагина для вставки. Просто удалите фильтры , чтобы можно было скопировать все данные.

 tinymce.init({
    selector: 'textarea',
    plugins: "paste",
    paste_data_images: true,
    paste_enable_default_filters: false,
    paste_remove_styles_if_webkit: false
 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...