TinyMCE удаляет некоторые теги . Настройки игнорируются

#tinymce #tinymce-4 #tinymce-plugins

#tinymce #tinymce-4 #tinymce-плагины

Вопрос:

Я пытался заставить TinyMCE не удалять мои теги a с помощью всех доступных настроек, но безуспешно (также просмотрел более 20 сообщений здесь — большинству из них более десяти лет и нет рабочих решений). Я просто собираюсь опубликовать то, что я пытаюсь поместить в редактор, и то, что он удаляет (вместе со всеми настройками, которые я пробовал).

Как должна выглядеть разметка:

     <a href="#" class="hearmorelink" onclick="window.open('/Mini-Lots-audio.html', 'Voice Over', 'width=320,height=1,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,copyhistory=no,resizable=no');return false;">
        <div>Want to hear more?<span style="margin-top: 60px;">CLICK HERE</span></div>
</a>
    
  

что с этим делает TinyMCE:

 <div>Want to hear more?<span style="margin-top: 60px;">CLICK HERE</span></div>
  

Возможно, это не самый красивый HTML, но почему он запрещает перенос чего-либо внутри тега A, когда это вполне приемлемый HTML5 в соответствии с RFC?

     apply_source_formatting: false,
    verify_html: false,
    trim_span_elements: false,
    cleanup: false,
    convert_urls: false,
    cleanup_on_startup: false,
    force_br_newlines: true,
    force_p_newlines: false,
    allow_script_urls: true,
    forced_root_block: false,
    valid_elements: ' *[*]',
    plugins: [
        "advlist autolink autoresize directionality lists link image charmap preview anchor",
        "searchreplace visualblocks code fullscreen textcolor",
        "insertdatetime media table contextmenu paste"
    ],
  

Кажется, что все настройки работают, но эта проблема по-прежнему сохраняется. Поскольку это необходимо для примерно 50 страниц, а HTML сохраняется и извлекается из базы данных, я не могу ничего жестко закодировать (кроме того, люди / администраторы, не использующие HTML, тоже должны это использовать).

Я не уверен, как я могу заставить это работать (и, да, это ДОЛЖНО быть всплывающее окно, чтобы звук мог воспроизводиться, когда люди переходят со страницы на страницу). Поможет ли здесь плагин?

Ответ №1:

хорошо — после выполнения еще нескольких настроек я обнаружил, что TinyMCE застрял в HTML4 (что не позволяет блокировать элементы внутри тегов). HTML5 поддерживает теги DIV внутри тегов. Я просто изменю разметку и настрою тег span, чтобы он отображался как блок с помощью CSS.