使用复制粘贴(或代码插件),用户可以插入内容,包括生成嵌套跨度的跨度,即使我认为我的设置禁止嵌套跨度。 我确实想要在执行“清理”操作时将嵌套跨度过滤掉。配置/清除问题
做一个手动清理(粘贴文本后触发命令“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]"
已经通过代码搜索,只发现你做的两个地方。这个曾经工作过的解释(版本3.2.7)稍微解释了一下。所以你在3.2.7版本中使用valid_child_elements配置了tinymce? – Thariama 2010-07-08 11:33:04
是的,在使用3.2.7和使用'valid_child_elements'设置进行配置时,正如我在上面的代码块中所示,它正确地删除了嵌套的span标签。当我在上面的问题中尝试使用为'valid_child_elements'提供的额外元素时,我收到了Javascript错误。 – Bermo 2010-07-08 14:23:27
感谢你的努力 - 这帮了我很多(赏金是你的)。 tinymce首席开发人员在询问他的功能将在3.4版中返回时告诉我,但将使用其他更方便的配置方式应用 – Thariama 2010-07-08 15:30:36