6

タグ内のtinymceエディターにテキストがいくつかありますが<p>、他には何もありません。クラスもスタイルもありません。テキストを選択して順序なしリストボタンをクリックする<p>と、リストになります。しかし、すべて<li>は次のようになります。

<li><span style="font-size: 12px; line-height: 1.5em;">Some text...</span></li>

これらのスタイルはどこから来たのか、どの tinymce 設定オプション、どのファイル、どの何か ??? List ボタンに、スパンやスタイルを使用せずにリスト HTML タグを追加するだけにしたい。

これが私のtinymce設定です。構成は Chrome インスペクタから直接コピーされます (ネストされた props にインデントがないのはそのためです): (ブレークポイントは、tiny_mce_src.js のステートメントtinymce.add(t);で、13547 行にありました)

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: "<!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
4

2 に答える 2

7

あなたの問題の解決策を見つけたようです: http://martinsikora.com/how-to-make-tinymce-to-output-clean-html

鍵はextended_valid_elementsを使用することにあります。これにより、クラス属性のないすべてのスパンが削除されます

extended_valid_elements : "span[!class]"
于 2013-01-29T11:24:29.237 に答える
3

http://fiddle.tinymce.comと比較して、私の tinymce 構成には 「プラグイン」設定がありませんでした。「プラグイン」設定を追加すると、tinymce はスタイルを含むスパンをリストに挿入しなくなりました。

私を解決に導いたいくつかの追加情報:

tiny_mce_src.js の 14212 行目は、(リストの作成中に) 私の Web サイトでデバッグすると false を返していました - そして、tinymce フィドルで true を返します。( if (o = t.execCommands[cmd]) {.....)

どういうわけか、私のウェブサイトで tinymce は行 15063 ( execNativeCommandfunction) を実行しましたが、tinymce fiddle ではそうではありませんでした (おそらくプラグインが見つからなかった結果)

ここで説明されているように、ネイティブ ChromeexecCommandにはスタイル付きスパンの挿入に関する問題があります: http://help.dottoro.com/ljcvtcaw.phpまた、それを確認するためにフィドルを作成しました: http://jsfiddle.net/fUsmx/ (インスペクターを閉じて再度開く)結果を見るために)

于 2013-02-02T15:24:25.650 に答える