2010-07-05 66 views
2

使用複製粘貼(或代碼插件),用戶可以插入內容,包括生成嵌套跨度的跨度,即使我認爲我的設置禁止嵌套跨度。 我確實想要在執行「清理」操作時將嵌套跨度過濾掉。配置/清除問題

做一個手動清理(粘貼文本後觸發命令「mceCleanup」)也沒有幫助。

回到TinyMCE documentation用戶可以選擇在爲定義的父節點執行「清理」時減少哪些子元素。

我的配置有問題嗎?如果是,那有什麼問題? 有什麼建議嗎?

這裏是我的配置(相關部分,我使用的是最新版本的TinyMCE(3.3.8),發生在所有主要的瀏覽器):

cleanup : true, 

    encoding: "xml", 

    dialog_type : "modal", 

    object_resizing: false, 
    paste_strip_class_attributes: "all", 

    entity_encoding: "raw", 

    fix_nesting: true, 

    invalid_elements: "strong,ul,ol,li", 


    // The valid_elements option defines which elements will remain in the edited text when the editor saves. 
    valid_elements: "@[id|class|title|style]," 
    + "a[name|href|target|title]," 
    + "#p,-ol,-ul,-li,br,img[src],-sub,-sup,-b,-i," 
    + "-span,hr", 

    valid_child_elements : "body[p|ol|ul]" //EDIT: had some ","s instead of "|"s 
    + ",p[a|span|b|i|sup|sub|img|hr|#text]" 
    + ",span[a|b|i|sup|sub|img|#text]" 
    + ",a[span|b|i|sup|sub|img|#text]" 
    + ",b[span|a|i|sup|sub|img|#text]" 
    + ",i[span|a|b|sup|sub|img|#text]" 
    + ",sup[span|a|i|b|sub|img|#text]" 
    + ",sub[span|a|i|b|sup|img|#text]" 
    + ",li[span|a|b|i|sup|sub|img|ol|ul|#text]" 
    + ",ol[li]" 
    + ",ul[li]" 

回答

2

我不認爲有任何問題你的配置。

問題是自從版本3.3b1(2010年1月25日)以來,TinyMCE代碼完全忽略valid_child_elements屬性。我使用Window Grep來檢查3.3.8下載中的所有文件,並且valid_child_elements字符串僅在/jscripts/tiny_mce/Classes/Editor.js中被發現兩次(並且在同一行上) - 事實證明這是一個簡單的賦值語句,不會在其他任何地方使用。

事實證明,在3.2.7版本(22 2009年9月)或低於(見http://sourceforge.net/projects/tinymce/files),該valid_child_elements屬性調用名爲addValidChildRules/jscripts/tiny_mce/Classes/dom/Serializer.js,我相信你不會本質上想要的功能。這個版本中有一些錯誤引起你的注意。我終於加入了簡化valid_child_elements配置參數在下載示例文件之一後,要刪除的嵌套標籤:

valid_child_elements : "span[a|b|i|sup|sub|img|#text]" 

希望這有助於。

+0

已經通過代碼搜索,只發現你做的兩個地方。這個曾經工作過的解釋(版本3.2.7)稍微解釋了一下。所以你在3.2.7版本中使用valid_child_elements配置了tinymce? – Thariama 2010-07-08 11:33:04

+0

是的,在使用3.2.7和使用'valid_child_elements'設置進行配置時,正如我在上面的代碼塊中所示,它正確地刪除了嵌套的span標籤。當我在上面的問題中嘗試使用爲'valid_child_elements'提供的額外元素時,我收到了Javascript錯誤。 – Bermo 2010-07-08 14:23:27

+0

感謝你的努力 - 這幫了我很多(賞金是你的)。 tinymce首席開發人員在詢問他的功能將在3.4版中返回時告訴我,但將使用其他更方便的配置方式應用 – Thariama 2010-07-08 15:30:36