tinymce inserting span в теги списка

I have some text in tinymce editor inside

tags, nothing else, no classes, no styles. When I select the text and click the Unordered List button, then the

become a list. But every

  • looks like this:

  • Некоторые тексты ...
  • Откуда берутся эти стили, какой вариант конфигурации tinymce, какой файл, что угодно? Я хочу, чтобы кнопка «Список» просто добавляла теги html в список без каких-либо пробелов и стилей.

    Вот моя конфигурация tinymce. Конфигурация копируется непосредственно из инспектора Chrome (поэтому в вложенных реквизитах нет отступов): (точка останова была на линии 13547, в операторе tinymce.add (t); в tiny_mce_src.js)

    settings: Object
    accessibility_focus: true
    accessibility_warnings: false
    add_form_submit_trigger: true
    add_unload_trigger: true
    apply_source_formatting: 0
    bodyClass: "wysiwygeditor"
    button_tile_map: true
    content_css: "/sites/all/themes/adaptivetheme/at_core/css/at.layout.css,/sites/all/themes/atsl/css/global.base.css,/sites/all/themes/mytheme/css/global.styles.css
    convert_fonts_to_spans: 1
    convert_urls: false
    delta_height: 0
    delta_width: 0
    dialog_type: "modal"
    directionality: "ltr"
    doctype: ""
    document_base_url: "/"
    entities: "quot,apos,amp,lt,gt,nbsp,iexcl"
    entity_encoding: "named"
    extended_valid_elements: ""
    fix_table_elements: true
    font_size_legacy_values: "xx-small,small,medium,large,x-large,xx-large,300%"
    font_size_style_values: "xx-small,x-small,small,medium,large,x-large,xx-large"
    forced_root_block: "p"
    formats: Object
    hidden_input: true
    id: "edit-body-und-0-value"
    ie7_compat: true
    indent: "simple"
    indent_after: "p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist"
    indent_before: "p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist"
    indentation: "30px"
    inline_styles: true
    language: "en"
    mode: "none"
    object_resizing: true
    padd_empty_editor: true
    paste_auto_cleanup_on_paste: 0
    plugins: "style,-codemagic"
    popup_css: ""
    preformatted: 1
    relative_urls: true
    remove_linebreaks: 1
    remove_script_host: true
    render_ui: true
    skin: "thebigreason"
    strict_loading_mode: true
    style_formats: Object
    submit_patch: true
    table_inline_editing: false
    table_styles: Array[0]
    theme: "advanced"
    theme_advanced_blockformats: "p,h3,h4"
    theme_advanced_buttons1: "bold,italic,underline,justifyleft,justifycenter,justifyright,separator,bullist,numlist,indent,outdent"
    theme_advanced_buttons2: "link,image,media,charmap,blockquote,separator,formatselect,removeformat,styleselect,codemagic"
    theme_advanced_buttons3: ""
    theme_advanced_resize_horizontal: 0
    theme_advanced_resizing: 1
    theme_advanced_resizing_use_cookie: false
    theme_advanced_statusbar_location: "bottom"
    theme_advanced_toolbar_align: "left"
    theme_advanced_toolbar_location: "top"
    url_converter: function (url, name, elm) {
    url_converter_scope: tinymce.create.Editor
    validate: true
    verify_html: true
    visual: true
    width: "100%"
    

    Где «форматы» выглядят так:

    formats: Object
    aligncenter: Object
    classes: "align-center"
    selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img"
    __proto__: Object
    alignleft: Object
    classes: "align-left"
    selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img"
    __proto__: Object
    alignright: Object
    classes: "align-right"
    selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img"
    __proto__: Object
    forecolor: Object
    classes: "forecolor"
    inline: "span"
    styles: Object
    __proto__: Object
    hilitecolor: Object
    classes: "hilitecolor"
    inline: "span"
    styles: Object
    __proto__: Object
    strikethrough: Object
    inline: "line-through"
    __proto__: Object
    underline: Object
    classes: "underline"
    exact: true
    inline: "span"
    __proto__: Object
    __proto__: Object
    

    «Форматы стиля»:

    style_formats: Object
    blink: Object
    attributes: Object
    class: "blink"
    __proto__: Object
    inline: "span"
    title: "Blink"
    __proto__: Object
    __proto__: Object
    
    6
    nl ja de
    можете ли вы разместить свою конфигурацию tinymce? создание неупорядоченных списков без прокрутки должно работать liek в примере tinymce: tinymce.com/tryit/full.php
    добавлено автор Thariama, источник
    вы, кулаки, используете это предложение для доступа к вложенной информации: JavaScript "> stackoverflow.com/questions/957537/…
    добавлено автор Thariama, источник
    Я обновил оригинальный пост этой информацией.
    добавлено автор camcam, источник
    О нет. У него нет вложенных объектов, таких как style_formats ... Проблема в том, что я не знаю, как выгрузить окончательную конфигурацию из Drupal, со всеми плагинами и пользовательскими настройками. Я попытаюсь выяснить, как это сделать Это.
    добавлено автор camcam, источник
    Я видел это, вход в консоль создает ту же проблему - вложенные объекты не расширяются. Но я уже сделал это вручную и добавил форматы и стильные форматы внизу.
    добавлено автор camcam, источник

    2 ответы

    Looks like i found a solution to your problem: http://martinsikora.com/how-to-make-tinymce-to-output-clean-html

    Ключ заключается в использовании extended_valid_elements . Это приведет к удалению всех интервалов без атрибута класса

    extended_valid_elements : "span[!class]"
    
    6
    добавлено
    sry, у меня нет другого решения, тогда
    добавлено автор Thariama, источник
    Это не работает
    добавлено автор Anand Somasekhar, источник
    Я видел это решение раньше. Тем не менее, я (и мои пользователи!) Использует пробелы без классов, только со стилями для форматирования ad hoc. Так что, как я понимаю, он тоже удалит эти промежутки - не может этого сделать. Tinymce должен брать эти стили откуда-то.
    добавлено автор camcam, источник

    В моей конфигурации tinymce отсутствовала настройка «плагинов» по ​​сравнению с http://fiddle.tinymce.com Когда я добавил параметр «плагины», tinymce больше не вставляет промежутки со стилями в списки.

    Некоторая дополнительная информация, которая привела меня к решению:

    строка 14212 tiny_mce_src.js возвращала false при отладке на моем веб-сайте (при создании списка) - и возвращает true на скрипте tinymce. ( if (o = t.execCommands [cmd]) {..... )

    каким-то образом на моем веб-сайте tinymce выполнялась строка 15063 ( execNativeCommand ), тогда как на tinymce скрипке это не было (возможно, из-за отсутствия плагинов)

    собственный Chrome execCommand имеет проблемы с вставкой стилизованных пролетов, как описано здесь: http://help .dottoro.com/ljcvtcaw.php , и я также создал скрипку, чтобы подтвердить это: http://jsfiddle. net/fUsmx/ (закрыть и снова открыть инспектор, чтобы увидеть результат)

    3
    добавлено
    Появляется плагин «списки», который нормализует это поведение.
    добавлено автор Chris Anton, источник