Теги стиля стилизации TinyMCE

Есть ли способ получить TinyMCE V4, чтобы не удалять теги <style>.

  tinymce.init({
    selector: 'textarea.tinymce',
    theme: 'modern',
    plugins: [
      'advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker',
      'searchreplace wordcount visualblocks visualchars code insertdatetime media nonbreaking',
      'save table contextmenu directionality emoticons template paste textcolor'
    ],
    valid_elements: '+*[*]',
    width: '100%',
    inline_styles: true,
    keep_styles: true,
    extended_valid_elements: '+*[*]',
    custom_elements: '*',
    invalid_elements: '',
    verify_html: false
  });

Я хочу иметь возможность добавлять любой HTML, который я хочу, независимо от того, действителен он или нет. Я не забочусь, если это вилка или обходной путь.

Ответ 1

Для этого вы можете использовать опцию TinyMCE valid_children:

valid_children : '+body[style]',

Проверьте эту скрипку для полного примера.

valid_children позволяет вам контролировать, какие дочерние элементы могут существовать в указанных родительских элементах.

Ответ 2

TinyMCE будет разрешать только теги HTML, где они действительны... тег <style> принадлежит <head> документа, поэтому, если вы поместите его в <body>, он отключит его.

Если вы включите плагин fullpage и добавьте тег <style> в <head>, TinyMCE сохранит тег <style>.

Ответ 3

Определите стиль и ссылку как пользовательский тег, чтобы сохранить их:

tinymce.init({
...
    extended_valid_elements:"style,link[href|rel]",
    custom_elements:"style,link,~link"
...
});