2010-07-05 67 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