微数据的tinymce extended_valid_elements

时间:2015-01-30 17:16:30

标签: javascript php cakephp tinymce microdata

我们目前在CakePHP框架上使用TinyMCE(版本:3.3.9.2(2010-09-29)),并且正在尝试修改Advance Themes文件tiny_mce/themes/advanced/editor_template.js以接受Microdata语法(用于使用Schema) .org词汇表)通过添加以下字符串:

extended_valid_elements : "p[itemtype|itemscope|itemprop|id|class|style|title|dir<ltr?rtl|lang|xml::lang|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup]",

和/或

extended_valid_elements : "@[itemtype|itemscope|itemprop|id|class|style|title|dir<ltr?rtl|lang|xml::lang|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup]",

引用此调试代码段:http://www.tinymce.com/develop/bugtracker_view.php?id=4469

但是,当我们修改文件并进行刷新时,即使我们在HTML源代码编辑器中将<p itemtype="def">This is some content.</p> <div itemscope itemtype="http://schema.org/Movie">This is some content.</div>作为测试,也会删除所有内容。

任何人都有任何关于如何修复TinyMCE继续剥离结构化数据的想法?

1 个答案:

答案 0 :(得分:0)

在TinyMCE v3.4之前,有一个配置选项cleanup和另一个选项verify_html。您可以尝试将这些选项设置为falseThis thread似乎表明,即使extended_valid_elements中列出了属性,仍会发生某些属性剥离。

我对自己遇到这个问题有一种朦胧的记忆,并且读到TinyMCE在修复无效HTML时非常积极,即使配置设置尽可能宽松。如果我能在TinyMCE论坛上找到这些主题,我会在一些链接中进行编辑。

另一个问题可能是使用CakePHP进行验证。较旧版本的CakePHP有一个Sanitize类,可以过滤掉HTML。确认该字符串未在HTML Purifier等库中运行。